MD5算法是否始终为同一个字符串生成相同的输出?

时间:2010-12-04 15:56:21

标签: hash md5

MD5算法是否总是为同一个字符串生成相同的输出?

仅使用盐来产生不同的输出吗?

6 个答案:

答案 0 :(得分:34)

是的,否则MD5对文件验证等内容毫无用处。你对非确定性输出有什么理由?

答案 1 :(得分:7)

是的,哈希算法总是产生相同的输出。如果使用相同的盐,这也将始终为给定输入生成相同的输出。

答案 2 :(得分:6)

是的,MD5总是输出相同的输入。这就是它用于密码的方式。您将哈希值存储在数据库中,然后当用户键入其密码时,它会再次进行哈希处理并比较两个哈希值。

注意:建议不要将MD5用于散列密码,因为它的密码较弱。有更合适的加密哈希值,例如bcrypt。但是,从历史上看,它已被用于此目的。

答案 3 :(得分:1)

是MD5是确定性的,这被认为是许多消息摘要功能应用的理想特征。

至于使用盐,你真的是指'以某种微妙的方式改变输入字符串'不是吗?当然,它也是消息摘要的一个理想特征,它们(非常高的概率)为不同的消息产生不同的摘要。

答案 4 :(得分:0)

是。 MD5是一个哈希函数。

意味着MD5是唯一的。多个输入可以映射到相同的散列,但任何给定的输入只有一个散列。

答案 5 :(得分:0)

是的。尽管在某些情况下会为不同的字符串创建相同的哈希。