一尘不染

密码哈希是否提供真正独特的结果?

algorithm

我想知道md5,sha1和另一个是否返回唯一值。

例如,sha1()对于testreturn
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3,其长度为40个字符。因此,大于40个字符的字符串的sha1必须相同(当然,它是加扰的,因为给定的输入可能包含空格和特殊字符等)。

因此,当我们存储用户密码时,他们可以输入其原始密码或一些没人知道的超长密码。

是这样吗,还是这些哈希算法提供了真正独特的结果-我很确定这几乎是不可能的。


阅读 257

收藏
2020-07-28

共1个答案

一尘不染

(注意:您在问的是哈希函数,而不是加密)。

根据定义,它们不可能唯一。他们需要大量的输入并减小其大小。显然,它们不能代表已压缩的所有信息。因此,它们不会提供“真正独特”的结果。

但是,它们 确实 提供了“防碰撞”结果。即,他们尝试表明两个略有不同的数据产生了显着不同的哈希。

2020-07-28