MD5算法对于相同的字符串,生成的输出是否总是相同的?
除了使用盐值,还有其他方法可以产生不同的输出吗?
是的,否则对于像文件验证之类的事情,MD5将毫无用处。你有什么非确定性输出的理由吗?
是的,MD5会始终在相同输入时输出相同的值。这正是它用于密码的原因。您可以将哈希存储在数据库中,然后当用户输入其密码时,再次进行哈希处理并比较两个哈希值。
注意:不建议使用MD5来哈希密码,因为它在密码学上很弱。现有更适合的密码学哈希函数,如bcrypt。然而,从历史上看,它曾经被用于此目的。
是的,哈希算法总是产生相同的输出。如果您使用相同的盐,这也将始终为给定输入产生相同的输出。
是的,MD5是确定性的,对于许多消息摘要函数的应用来说,这被认为是一种理想的特性。
至于使用盐,你真正意思的是“以某种微妙的方式改变输入字符串”,对吧?当然,消息摘要的一个理想特性也是它们(极有可能)为不同的消息产生不同的摘要。
是的。尽管在某些情况下,它会为不同的字符串创建相同的哈希。
是的。MD5是一种哈希函数。
这并不意味着MD5是唯一的。多个输入可能映射到相同的哈希值,但任何给定的输入只有一个哈希值。