使用MySQL的密码功能对应用程序使用的密码进行哈希处理是好方法还是坏方法?我可以看到优点和缺点。我很好奇它是否是好事或坏事是否达成共识。
MySQL的PASSWORD()函数的文档指出:
PASSWORD()函数由MySQL Server中的身份验证系统使用;您不应在自己的应用程序中使用它。
阅读“ 您可能不正确地存储密码 ”以获取有关哈希和存储密码的更好建议。
MD5和SHA-1被认为太弱而无法使用密码。当前的建议是使用SHA-256。
我为MySQL提供了一个补丁程序以支持该SHA2()功能,并且该补丁程序已被接受,但是由于他们的路线图已更改,因此尚不清楚何时将其制成已发布的产品。
SHA2()
同时,您可以使用编程语言使用哈希和加盐,并且只需将结果哈希摘要存储在数据库中。如果您使用PHP,则hash()函数中提供SHA-256 。
hash()
更新: MySQL 5.5.8于2010年12月发布,该版本包含对该SHA2()功能的支持。