• 漫谈:编码、哈希、摘要、加密都是什么(别再问“用base64加密行不行”了,会被鄙视)


    初级代码游戏的专栏介绍与文章目录-CSDN博客

            刚接触加密领域的新手经常搞不清楚这几个概念,这里给大家辨析一下,不是基础普及,所以你应该先对这些略知一二。

    1 什么是编码

            什么是编码:编码是用一种公开的方式把数据从一种形式变换为另一种形式,没有密钥,可逆,不丢失信息。典型如ASCII、UTF-8、URL encode,以及非常常用的base64。很多人以为让别人看不出来就是加密,不是的啊,让别人解不出来才是加密(需要密钥)。

    2 什么是哈希和摘要

            什么是哈希:哈希是一种算法,把数据映射到一个固定长度的值,没有密钥,不可逆,无法还原数据。

            什么是摘要:摘要就是哈希。典型如MD5、SHA。很多人以为MD5是加密,误解了啊,看不懂不是加密,没有密钥解不出来才是加密。

    3 什么是加密

            什么是加密:加密是用密钥隐藏信息,没有密钥无法还原信息。加密有两大类,非对称加密和对称加密。非对称加密是互联网安全的基础,对称加密则比较高效,通常的用法是用非对称加密加密一个随机对称密钥,也就是RSA+AES,其中AES密钥随机生成,用RSA加密随数据传输,兼顾了安全和高效。

    4 对比

    编码哈希摘要加密
    信息?不丢失信息丢失信息不丢失信息
    看懂?有些看不懂,有些能看懂看不懂看不懂
    还原?能还原不能还原有密钥才能还原
    速度?很快慢、极慢

    5 HTTP的基本认证是加密吗

            HTTP的基本认证是加密的吗?不是的,只是把用户名密码用base64编码而已,base64编码不使用常见的符号,可以安全地混合在格式文本中,所以非常常用。但是一定要记住,这只是编码,而非加密。

    6 UNIX用户名是加密的吗

            UNIX的用户口令是加密的吗?不是的,那是个摘要。UNIX的用户密码的原始文本只在用户的脑子里,登录的时候用密码生成摘要,跟文件里那个字段比较,一致就通过。

            摘要很难被反推出来,但是暴力猜测还是可能的,但是猜到的那个未必是用户使用的秘密,因为两个文本生成同一个摘要的概率还是有的(只要数据的位数大于摘要的位数,冲突就是不可避免的)。

    7 私有编码算不算加密

            用一种私有的方式编码算不算加密?比如把所有字符值+1,你不告诉我的话也算吧——但是太容易破解啊。

            顺便说一句,RSA算法的数学基础好像还没有被证明,万一错了,整个互联网就崩溃了。

    (这里是结束)

  • 相关阅读:
    Python自动化操作:简单、有趣、高效!解放你的工作流程!
    Matlab论文插图绘制模板—水平三维柱状图(渐变)
    BERT(Bidirectional Encoder Representations from Transformers)
    黑马JVM总结(十六)
    Vue3 el-tooltip 根据内容控制宽度大小换行和并且内容太短不显示
    氨基/羧基修饰/偶联/接枝/功能化铋纳米球 NH2/COOH-Bi nanosphere
    k8s常见的命令集锦
    安卓文件选择插件
    监听Helm release资源
    java毕业设计基于的测试项目管理平台Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/2301_77171572/article/details/132899467