美文网首页
Digest vs Encryption 摘要 vs 加密

Digest vs Encryption 摘要 vs 加密

作者: LeaveStyle | 来源:发表于2021-04-14 16:31 被阅读0次

    网上会经常出现sha256加密的、md5加密算法等字眼,对于这样的描述经常会产生误解,sha256和md5都属于散列算法的一种,不应该被赋予加密的字眼,下面是加密和摘要的相关知识。

    一、 定义

    1. 加密:指使用一个密钥和一种加密算法将数据转换成已加密的数据。(包括对称加密和非对称加密,加密后的数据可以通过密钥解密)Encryption takes a plain text and converts it to an encrypted text using a key and an encryption algorithm. The resulting encrypted text can later be decrypted (by using the same key and algorithm).
    2. 摘要:指将数据变成哈希值,不可逆。用来验证数据的完整性和唯一性。A digest takes a plain text and generates a hashcode which can be used to verify if the plain text is unmodified but cannot be used to decrypt the original text from the hash value.

    二、误区纠正

    1. 摘要(digest)的算法是散列算法(Hashing Algorithm),没有所谓的 “加密” 、“解密” 的说法,很多书上都是描述为加密,容易产生误解。
    2. 摘要(digest)只是验证身份的令牌,我们无法通过摘要还原出原始数据。

    三、 例子

    1. MD5
      1. MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5不是加密算法。``
      2. MD5信息摘要算法,网上说MD5算法用来加密和解密是错误的。
      3. 短数据用MD5生成摘要不安全,可通过穷举MD5字典来破解。
    2. SHA256
      1. SHA256是相对于MD5更安全的散列算法,它会产生一个256位的哈希值,称作消息摘要。这个摘要相当于是个长度为32个字节的数组,通常有一个长度为64的十六进制字符串来表示,其中1个字节=8位,一个十六进制的字符的长度为4位。SHA256因为有更多位的输出哈希值,破解难度更大,能够提高更高的安全性。
      2. SHA256不是加密算法,其不可逆。

    参考文献:
    https://juejin.cn/post/6844903561478799368
    https://stackoverflow.com/questions/3332662/encryption-vs-digest#:~:text=Encryption%20conceals%20the%20contents%20of,came%20from%20a%20particular%20source.
    https://stackoverflow.com/questions/326699/difference-between-hashing-a-password-and-encrypting-it

    相关文章

      网友评论

          本文标题:Digest vs Encryption 摘要 vs 加密

          本文链接:https://www.haomeiwen.com/subject/qoqllltx.html