我读过几次 MD5 不是加密,例如在MD5 上……加密?或命令行消息摘要实用程序。
好吧,我知道它是一个哈希/消息摘要,上面链接中的解释说加密必须有一个密钥,而 hash/md 是一个仅产生签名的加密哈希函数。我真的不明白其中的区别。难道您看不到加密哈希函数/算法作为密钥吗?
另外,加密的东西和加密的东西有什么区别?
我读过几次 MD5 不是加密,例如在MD5 上……加密?或命令行消息摘要实用程序。
好吧,我知道它是一个哈希/消息摘要,上面链接中的解释说加密必须有一个密钥,而 hash/md 是一个仅产生签名的加密哈希函数。我真的不明白其中的区别。难道您看不到加密哈希函数/算法作为密钥吗?
另外,加密的东西和加密的东西有什么区别?
你不能“解密”一个 md5 散列函数,如果你想传输信息而接收者无法读取它,那么你选择了一个错误的算法。
所以加密必须是可解密的。MD5 是一种“加密”散列函数,因为很难生成具有特定给定散列值的信息块。因此,如果您想对消息进行签名,只需对哈希进行签名就足够了。这使用较少的计算能力,并且接收者可以确保原始消息未被触及。
哈希算法导致原始数据的信息不可替代地丢失,而加密算法具有相应的解密算法来恢复原始数据。
这可以表明,无论输入如何,散列算法结果都具有统一的大小(128、160、256 等位),而加密算法结果的大小取决于输入的大小。
我认为您不能将功能本身视为关键。因为密钥是您传递给函数以加密或解密(<-不可能使用 md5)消息的东西。