0

我读过几次 MD5 不是加密,例如在MD5 上……加密?命令行消息摘要实用程序

好吧,我知道它是一个哈希/消息摘要,上面链接中的解释说加密必须有一个密钥,而 hash/md 是一个仅产生签名的加密哈希函数。我真的不明白其中的区别。难道您看不到加密哈希函数/算法作为密钥吗?

另外,加密的东西和加密的东西有什么区别?

4

3 回答 3

3

你不能“解密”一个 md5 散列函数,如果你想传输信息而接收者无法读取它,那么你选择了一个错误的算法。

所以加密必须是可解密的。MD5 是一种“加密”散列函数,因为很难生成具有特定给定散列值的信息块。因此,如果您想对消息进行签名,只需对哈希进行签名就足够了。这使用较少的计算能力,并且接收者可以确保原始消息未被触及。

于 2011-09-27T18:36:27.870 回答
2

哈希算法导致原始数据的信息不可替代地丢失,而加密算法具有相应的解密算法来恢复原始数据。

这可以表明,无论输入如何,散列算法结果都具有统一的大小(128、160、256 等位),而加密算法结果的大小取决于输入的大小。

于 2011-09-27T18:38:53.907 回答
0

我认为您不能将功能本身视为关键。因为密钥是您传递给函数以加密或解密(<-不可能使用 md5)消息的东西。

于 2011-09-27T18:40:52.860 回答