在我们的应用程序中使用MySQL PASSWORD函数

3
在MySQL的PASSWORD函数的文档中:

PASSWORD()函数是MySQL服务器认证系统中使用的;您不应该在您自己的应用程序中使用它。为此,请考虑使用MD5()或SHA1()。

为什么我们不应该在我们的应用程序中使用这个函数?
1个回答

2
我能想到的一些原因如下:
  1. 它是一个快速哈希函数(我相信是SHA1),这对于密码哈希来说不是一个好的属性。

  2. 他们可能会在MySQL的未来版本中更改使用的哈希函数,从而破坏您的应用程序。他们已经做过一次这样的更改,因此有了OLD_PASSWORD()函数。

  3. 它不自然地使用盐(尽管如果您想在调用PASSWORD函数之前将其附加到密码中,就可以使用盐)

  4. 它是非标准SQL,因此如果您需要将应用程序移植到另一个平台,您需要找到替代方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接