答案 0 :(得分:6)
您在此处所做的是hashing,而不是encrypting。
哈希的目的是不将密码本身存储在数据库中,这样如果数据库被盗,攻击者将无法获得所有用户密码的知识。
哈希应该与salting哈希一起使用,否则对于获得数据库访问权限的攻击者来说,破解存储在那里的弱密码会相对容易。
此外,对相同的输入进行两次哈希处理(例如md5
和sha1
)并不会带来任何显着的好处。
答案 1 :(得分:0)
为每个密码生成随机盐,并使用HMAC-SHA1计算密码摘要。 salt用作密钥,密码用作消息。盐和摘要存储在数据库中。