可能重复:
在 PHP 中编码密码的最佳方法
我一直在阅读很多关于密码和电子邮件哈希的内容,但我不确定我是否知道什么是最好的方法。很明显,md5 和 SHA 已经过时并且毫无用处,但是当涉及到所有 crypt 时,mcrypt_encrypt、hash() 等:
- 哪一种是当今保护密码和电子邮件的有效方法?;(也许是最好的方法?)
- 我可以对两者使用相同的方法吗?
如果有人能给我一些建议,我真的很感激。
看看这个博客。它是关于密码散列的好信息。
http://blog.ircmaxell.com/search/label/Password-Hashing
作者还有一个密码哈希库,它只使用经过审查的高质量算法。
除了那条注释之外,您应该使用 bcrypt 或 PBKDF2 进行密码散列。
至于电子邮件加密,PGP/GPG 是交叉兼容/支持的电子邮件加密的最佳选择。
你应该阅读这个问题Secure hash and salt for PHP passwords和这个How do you use bcrypt for hashing passwords in PHP? .
这两个问题都有 170 多个赞成票。