加密phpBB或MyBB论坛注册用户密码的最安全方法是什么?我不希望任何人能够访问用户密码,甚至不管那些管理MySQL数据库的人,以及有人设法破解数据库以便无法查看它们。我只希望注册的用户知道他们的密码。
答案 0 :(得分:6)
我完全赞同Federico Razzoli的回应,除了一件事。实际上,散列必须在上游执行,在任何情况下都不在数据库级别执行(所以你的问题可能不在主题上)。
然而,就安全性而言,仅使用哈希函数是不够的。您仍然容易受到dictionary attacks,rainbow table攻击以及频率分析的一些攻击。 至少使用cryptographic salt 。
但是,最好的方法是使用用于存储密码的密钥派生函数。我建议您查看PBKDF2(hash_pbkdf2
使用PHP),bcrypt(password_hash
使用PHP,默认使用明智的算法,目前是bcrypt)或{{3 }}
最后,你的问题建议你使用phpBB,这个论坛引擎通常应该单独处理密码的安全存储。
答案 1 :(得分:1)
您可以使用SHA512。
我看到你使用了“mysql”标签。请不要使用SHA2()
SQL函数或任何其他SQL哈希函数。如果这样做,普通字符串将通过网络发送,并可能写在一些日志中。
改为使用PHP hash()
函数,并指定'sha256'
作为第一个参数。