在我们的网站上,我们使用随机GUIDs
作为盐来计算用户密码:
SHA1("mysecretpassword" + "a7841254-838a-45a0-8427-145e1d92287d")
每个密码哈希的唯一盐存储在数据库中。
我知道这SHA1
已经不是很安全了,但考虑到我们添加了一个很长的随机盐,我几乎无法想象它可以被暴力攻击或彩虹表破坏。
那么,这种方法在存储密码哈希时是否安全?
在我们的网站上,我们使用随机GUIDs
作为盐来计算用户密码:
SHA1("mysecretpassword" + "a7841254-838a-45a0-8427-145e1d92287d")
每个密码哈希的唯一盐存储在数据库中。
我知道这SHA1
已经不是很安全了,但考虑到我们添加了一个很长的随机盐,我几乎无法想象它可以被暴力攻击或彩虹表破坏。
那么,这种方法在存储密码哈希时是否安全?
不,不是,因为它的计算效率太高了。一个好的密码散列函数很慢,因为这会使攻击者的生活更加困难。
同样,从纯粹的加密 POV 来看,像这样将盐与密码连接起来不如使用适当的 HMAC 安全;有关详细信息,请参阅Wikipedia HMAC 文章。