J. *_*Doe 1 language-agnostic cryptography guid cryptographic-hash-function
在我们的网站上,我们使用random GUIDs作为salt来计算用户密码:
SHA1("mysecretpassword" + "a7841254-838a-45a0-8427-145e1d92287d")
对于每个密码哈希,唯一的salt存储在数据库中.
我知道这SHA1不再是非常安全了,但考虑到我们添加了一个很长的随机盐,我几乎无法想象它可以被蛮力攻击或彩虹表破坏.
那么,这种方法目前是否可以加密安全存储密码哈希?
不,它不是,因为它的计算效率太高了.一个好的密码哈希函数很慢,因为这会使攻击者的生活变得更加困难.
从纯粹的加密POV开始,将盐与密码连接起来比使用适当的HMAC更不安全; 有关详细信息,请参阅Wikipedia HMAC文章.
不要尝试发明自己的密码散列系统,周围有很多好的,比如scrypt和pbkdf2.