4
bcrypt如何内置盐?
Coda Hale的文章“如何安全存储密码”声称: bcrypt具有内置的盐,可以防止彩虹表攻击。 他引用了这篇论文,该论文说在OpenBSD的实现中bcrypt: OpenBSD从arcfour(arc4random(3))密钥流生成128位bcrypt盐,该密钥流以内核从设备时序收集的随机数据作为种子。 我不知道这怎么工作。在我的盐概念中: 每个存储的密码都需要不同,因此必须为每个密码生成一个单独的彩虹表 它需要存储在某个地方以便可重复:当用户尝试登录时,我们尝试输入密码,重复与最初存储密码时相同的盐和哈希程序,然后进行比较 当我将Devise(Rails登录管理器)与bcrypt一起使用时,数据库中没有salt列,因此感到困惑。如果盐是随机的并且没有存储在任何地方,我们如何可靠地重复哈希过程? 简而言之,bcrypt如何内置盐?