如何哈希和盐密码

Hen*_*gmo 7 php security encryption hash

我意识到这个话题有时会提出来,但我发现自己还没有完全确定这个话题.

我想知道你如何加盐哈希并使用盐渍哈希?如果使用随机生成的盐加密密码,我们如何在用户尝试进行身份验证时对其进行验证?我们还需要将生成的哈希存储在我们的数据库中吗?

有没有特别的方法盐应该生成?哪种加密方法更受青睐?从我听到的sha256是非常好的.

当用户进行身份验证时,是否可以将哈希"重新盐化"?最后,重复一次重要的安全措施是什么?

谢谢!

Mah*_*dsi 7

答案是不要自己动手.能够在PHP中完成所需工作的单行程序就是使用bcrypt.

阅读本文,它很容易理解并解释您提出的所有问题:http://codahale.com/how-to-safely-store-a-password/

bcrypt自身考虑了散列,并且可以根据需要配置为"复杂",以便在被黑客攻击时保持用户密码的完整性.

哦,我们不"加密"密码,我们哈希它们.

  • 这篇文章中有一个谎言.bccrypt无法帮助对抗字典攻击.无盐的bccrypt容易受到彩虹的影响. (3认同)
  • 不过,彩虹表是曾经做过的事情,可以永远使用.因此,根本不使用盐是一个微弱的借口.你的文章作者只是另一个咆哮,他嘲笑某些方法,并理想化另一个方法.虽然事实是一起使用所有适当的方法. (2认同)