我一直在使用PHPass来哈希我的密码很长一段时间。我承认,仍然存在一些我不完全理解(或忽略)的问题,以便正确地对密码进行哈希处理,所以今天我正在审查我可以找到的所有信息。正确的腌制和使用PHPass
回顾PHPass文件,我已经steped到这一点:
除了实际散列,phpass透明方式生成当一个新的密码或口令散列随机盐,以及它所编码的哈希类型,盐,并且密码扩展迭代计入它返回的“散列编码字符串”。当phpass根据存储的散列验证密码或密码时,它类似地透明地提取并使用散列类型标识符,salt和迭代计数从“散列编码字符串”中排除。 因此,您不需要费心自己的腌制和拉伸 - phpass会为您处理这些问题。
我用粗体显示了一句让我困扰的句子。
我总是认为盐应该有些秘密,因为它不应该被攻击者知道。因此,如果理解正确,PHPass会将相同散列中使用的salt存储起来,以便在比较密码时检查它是否有效。
我的问题是
- 这种产品是否安全?如果哈希被破坏,攻击者就会用哈希密码来破解密码......我在这里错过了一些东西。
- 我在这里真的可以免费关于腌制密码吗?我真的可以依靠PHPass吗?
随着加入'salt'您在安全性添加更多的层。这是“深度防御”的主要原则。但是,如果_phpass_已经添加了salt,它将不会添加另一个图层。 – Leri
1.)你认为哪种安全?你能做出更具体的吗? - 2.)你能否在几分之一秒内用肯定或否定来回答以下问题:“Phpass是否使用盐?” - 说出你可以如何确定和快速回答问题,以及答案。 – hakre
@hakra我指的是将盐与密码一起存储的行为。我总是将它存储在不同的地方(例如,阅读数据库字段)更好。 –