MD5算法是否总是为同一个字符串生成相同的输出?
仅使用盐来产生不同的输出吗?
答案 0 :(得分:34)
是的,否则MD5对文件验证等内容毫无用处。你对非确定性输出有什么理由?
答案 1 :(得分:7)
是的,哈希算法总是产生相同的输出。如果使用相同的盐,这也将始终为给定输入生成相同的输出。
答案 2 :(得分:6)
是的,MD5总是输出相同的输入。这就是它用于密码的方式。您将哈希值存储在数据库中,然后当用户键入其密码时,它会再次进行哈希处理并比较两个哈希值。
注意:建议不要将MD5用于散列密码,因为它的密码较弱。有更合适的加密哈希值,例如bcrypt。但是,从历史上看,它已被用于此目的。
答案 3 :(得分:1)
是MD5是确定性的,这被认为是许多消息摘要功能应用的理想特征。
至于使用盐,你真的是指'以某种微妙的方式改变输入字符串'不是吗?当然,它也是消息摘要的一个理想特征,它们(非常高的概率)为不同的消息产生不同的摘要。
答案 4 :(得分:0)
是。 MD5是一个哈希函数。
这不意味着MD5是唯一的。多个输入可以映射到相同的散列,但任何给定的输入只有一个散列。
答案 5 :(得分:0)
是的。尽管在某些情况下会为不同的字符串创建相同的哈希。