2012-08-26 279 views
1

记得阅读以下方案:检查密码的过程是这样的:密码哈希值,更新盐和登录哈希和PHPass

  1. 给出(哈希,盐)在数据库中,
  2. 哈希加盐密码要检查的哈希,
  3. 哈希密码老散盐
  4. 店(新的哈希,盐又名老哈希)在数据库中。

我找不到原始来源。在任何情况下,我不明白

  1. 的优点是使用旧的哈希值作为盐(相对于使用随机盐)的东西,

  2. 这种方案的优点是什么一般(进一步复杂化彩虹表攻击?),和

  3. 如果有一个优势,因为盐似乎是管理“中的” PHPass一个如何应用使用PHPass方案,...

直觉上,我认为这个方案最多不会做任何事情,或者在最坏情况下(由于依赖于过去的价值)使安全性恶化,但是密码安全性是我不相信直觉的一个领域。请赐教。

编辑:

我问有关重新散列密码上的每个检查。这些类似的问题做回答第一个问题—,使用哈希作为盐是无用—而不是它是否有用重新散列每个检查:

+0

去年在S.O上的问题不能少于100次。 – 2012-08-26 04:17:57

+0

[Salting Your Password:Best Practices?]可能重复(http://stackoverflow.com/questions/674904/salting-your-password-best-practices) – 2012-08-26 04:18:31

+0

@Dagon - 我不这么认为。我询问每次更改散列值的优势,而您提供的链接似乎更多地是关于盐的前置或后置。 –

回答

2

我我没有安全专家,但回答#1没有任何优势。它所做的一切使事情进一步复杂化。

只需使用一个好随机产生的盐, 正如你所说,PHPPass在内部处理它,并且PHPass被认为是一个非常好的工具,因为它已经被许多安全专家审查过了。