关于php:在MySQL数据库中存储密码的更安全的方法是什么?

What's the safer way to store a password in MySQL database?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
PHP 2-way encryption: I need to store passwords that can be retrieved

最近,我在阅读一些关于在数据库中存储密码的教程时有点困惑。大多数网站都说,最好是使用哈希和salt来存储密码,或者将密码分为两部分存储,或者为所有密码添加一个通用密钥。

我看到了一些使用crypt、sha、sha256、md5和河豚的方法。

我的问题是,对河豚使用crypt函数是安全的,还是有更好/更安全和更有效的密码存储方法?


嗯,除了显而易见的,不存储,散列等…如果可以的话,即使你可以加盐,也不要使用普通的MD5、SHA1、SHA256、SHA512、SHA-3等。原因见:

http://codahale.com/how-to-safety-store-a-密码

简而言之:使用bcrypt

您可能想阅读有关此主题的

密码散列、salt和散列值的存储http://dustwell.com/how-to-handle-passwords-bcrypt.htmlhttps://www.owasp.org/index.php/password_storage_作弊表