使用随机盐改进密码哈希
我正在创建一个网站,并且我正在尝试决定如何加密用户密码以将其存储在SQL数据库中。
我意识到使用简单的md5(密码)是非常不安全的。我正在考虑使用sha512(password.salt),我一直在研究生成有用盐的最佳方法。我读过许多文章,指出盐应该尽可能随机,以向哈希添加熵,这看起来是一个好主意。但:
- 您需要将随机盐与哈希一起存储
- 鉴于攻击者以某种方式访问了您的散列密码(并试图将散列反转为纯文本),这意味着他可能转储了您的数据库,然后也获得了对您的随机盐的访问权限
难道不是很明显,数据库中哈希值旁边的奇怪值是盐吗?如果攻击者可以访问盐和哈希值,那么如何更安全?
有人在这方面有任何专业知识吗?谢谢!