在工作中,我们用于密码的散列算法似乎是定制的。显然这是一个非常糟糕的主意,但管理层似乎并不在意。
该算法总是产生 20 个字符长的大写字符串。其行为的一个特别令人担忧的方面是相似的密码会产生相似的散列:Password1
并且Password2
产生的散列仅相差大约 5 个字符。
另一个明显的问题是,它看起来并不像算法故意变慢,我被告知好的散列算法 ( bcrypt
, scrypt
) 应该是这样。
如何评估散列算法的强度?对于一致性差的快速哈希算法,我们应该特别关注哪些类型的攻击?
我可以访问源代码(尽管很遗憾,出于显而易见的原因,我无法将其发布在公共论坛上)。