我正在使用存储过程检查登录尝试时的用户名和密码。 - 使用MySQL中的password()函数存储密码。
登录工作正常,使用存储过程,问题是我有一个功能,使用户能够更改密码,我该如何更新?作为MD5通过PHP?或者我应该构建一个新的存储过程?
谢谢:)
答案 0 :(得分:1)
您不应该将PASSWORD()函数用于应用程序级密码。
http://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_password说:
请注意
PASSWORD()
功能由身份验证系统使用 MySQL服务器;你不应该在自己的应用程序中使用它。为了那个原因 目的,请考虑MD5()
或SHA2()
。另请参阅RFC 2195,部分 2(挑战 - 响应认证机制(CRAM)),更多 有关安全处理密码和身份验证的信息 你的申请。
如果使用像SHA2这样的标准加密哈希方法,则可以使用hash extension在PHP中执行哈希。在PHP中使用相同算法计算的散列与在MySQL中计算的散列兼容。