Ruby String.crypt方法

gjb*_*gjb 4 ruby encryption

Ruby的String.crypt方法使用哪种哈希算法?当与盐一起使用时,这是否足够安全用于散列密码?

Dig*_*oss 7

没有


它使用crypt()基于DES 的C库.这是一个快速的密码.1.

它不适合散列密码.该算法作为密码系统是合理的,尽管密钥长度相当短,这是密码的问题.然而,它有一个更为根本的弱点:它太快了.

良好的密码散列函数有一些奇怪的密码要求:它们需要从根本上需要许多复杂操作的算法,而不仅仅是少数几个XOR操作和一些像DES那样的表查找.

顺便说一下,推出自己的密码系统几乎总是一个坏主意.最好在理论上使用现有的包,这些包已经过审查.它需要一定数量的主题专业知识来烹饪一个好的.

最后,你问了一个问题,我们这里无所畏惧的领导人已经写过了!请参阅:关于Web密码的肮脏真相.


1.请注意,即使它是在Ruby中实现的,速度仍然是一个问题:它基本上是一个快速算法,因此攻击者可以使用他自己的实现进行密钥搜索.