加密密码的安全方式

时间:2011-03-07 21:06:27

标签: php mysql

  

可能重复:
  Secure hash and salt for PHP passwords

这是一种加密密码以存储在mysql数据库中的安全方法:

md5(sha1($password))

感谢。

2 个答案:

答案 0 :(得分:6)

您在此处所做的是hashing,而不是encrypting

哈希的目的是不将密码本身存储在数据库中,这样如果数据库被盗,攻击者将无法获得所有用户密码的知识。

哈希应该与salting哈希一起使用,否则对于获得数据库访问权限的攻击者来说,破解存储在那里的密码会相对容易。

此外,对相同的输入进行两次哈希处理(例如md5sha1)并不会带来任何显着的好处。

答案 1 :(得分:0)

为每个密码生成随机盐,并使用HMAC-SHA1计算密码摘要。 salt用作密钥,密码用作消息。盐和摘要存储在数据库中。