MySQL Server 8.0 中的 PASSWORD 函数
在 MySQL Server 8.0 版本中,PASSWORD 函数的行为与以前的版本不同。这可能会导致使用该函数时出现错误,如问题所示。
错误“错误代码:1064。您的 SQL 语法有错误”表明 MySQL 服务器正在等待不同的语法密码功能。在以前版本的 MySQL 中,PASSWORD 函数用于使用旧的密码哈希算法来加密密码。然而,在 MySQL 8.0 中,该算法已被弃用,并被更安全的算法取代。
为了解决这个问题,该问题提供了一种解决方案,涉及使用 SHA1 和 CONCAT 函数来替换 PASSWORD 函数。答案建议使用以下查询作为替代方案:
<code class="SQL">SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('mypass')))))</code>
此查询将星号 (*) 与输入密码 ('mypass') 的 SHA1 哈希值的 SHA1 哈希值的大写十六进制表示形式连接起来。结果类似于以前 MySQL 版本中 PASSWORD 函数的输出,使其适合用于身份验证目的的替代。
以上是如何替换MySQL 8.0中的PASSWORD函数进行密码验证?的详细内容。更多信息请关注PHP中文网其他相关文章!