📜  MySQL | OLD_PASSWORD函数(1)

📅  最后修改于: 2023-12-03 15:33:02.287000             🧑  作者: Mango

MySQL | OLD_PASSWORD函数

介绍

OLD_PASSWORD() 是 MySQL 内置函数之一,用于生成一个经典的 MySQL 4.0 样式的密码散列值。

在 MySQL 4.1 版本之前,MySQL 使用一个叫做 PASSWORD() 的函数来加密密码,但是这个函数使用了一个已知的加密算法(SHA1),因此容易被破解。为了增强密码的安全性,MySQL 4.1 版本引入了 OLD_PASSWORD() 函数来生成一个基于 MySQL 3.23.22 版本之前的密码散列值。该算法使用了一个基于MD5的算法来加密密码。

语法
OLD_PASSWORD(password)

其中 password 代表要加密的密码,必须是字符串类型。

返回值

OLD_PASSWORD() 函数返回一个字符串,长度为 16 个字符。

示例
SELECT OLD_PASSWORD('123456');
-- 返回结果:7c4a8d09ca3762af

SELECT OLD_PASSWORD('password123');
-- 返回结果:ea0237bf1a2c4b4d
注意事项
  • OLD_PASSWORD() 仅支持加密长度不超过 16 字节的字符串。如果超过了这个长度,OLD_PASSWORD() 只会返回这个字符串的前 16 个字符的散列值,这会降低加密密码的安全性。

  • 如果需要更高级的加密方式,建议使用 PASSWORD() 函数或使用其他加密服务。

  • 在 MySQL 5.7 版本之后,OLD_PASSWORD() 函数已被标记为弃用,建议使用更加安全的加密方式来存储密码。

参考链接