我开始一个网站,我正在尝试决定如何加密用户密码以将它们存储在SQL数据库中。用随机盐改善密码哈希
我意识到使用简单的md5(密码)是非常不安全的。我正在考虑使用sha512(password.salt),我一直在研究生成有用盐的最佳方法。 我阅读了大量文章,指出盐应尽可能随机添加到散列熵,它看起来像个好主意。但是:
- 需要一起存储在随机盐与哈希
- 给攻击者以某种方式取得了您的哈希密码(并试图扭转哈希为纯文本),这意味着他可能倾销您的数据库,然后获得访问您的随机盐
是不是很明显,在数据库中散列旁边的怪异看起来的价值是盐?如果攻击者可以随同哈希值一起访问salt,那么更安全吗?
任何人都有该领域的专业知识?谢谢!
不要忘记,毕竟这仍然需要好的密码。 – 2012-02-23 20:41:08
@PeeHaa:攻击者不需要每个盐值的彩虹表吗? – 2012-02-23 21:01:19
盐是有防止彩虹表攻击。现在攻击者不得不为每条记录创建一个彩虹表,而不是每个记录的一个。 – PeeHaa 2012-02-23 21:21:37