使用加密解密函数可以对存入数据库中的数据进行加密和解密处理,防止他人窃取。
函数 | 用法 |
PASSWORD(str) | 返回字符串str的加密版本,41位长的字符串。加密结果 |
MD5(str) | 返回字符串str进行MD5加密后的值,若参数为null,则返回null |
SHA(str) | 从原明文密码str计算并返回加密后的密码字符串,当参数为null时,返回null。 |
ENCODE(value,password_seed) | 返回使用password_seed作为加密密码加密value |
DECODE(value,password_seed) | 返回使用password_seed作为加密密码解密value |
ENCODE()
与DECODE()
互为反函数
PASSWORD('mysql')
函数在mysql 8.0版本已弃用ENCODE(),DECODE()
函数在mysql 8.0版本已弃用
SELECT
PASSWORD('mysql'),
PASSWORD('mysql'),
PASSWORD(NULL),
MD5('123'), -- 202cb962ac59075b964b07152d234b70
MD5('123'), -- 202cb962ac59075b964b07152d234b70
MD5(NULL), -- null
SHA('Tom123'), -- c7c506980abc31cc390a2438c90861d0f1216d50
SHA('Tom123'), -- c7c506980abc31cc390a2438c90861d0f1216d50
SHA(NULL), -- null
ENCODE('mysql','mysqlkey'),
DECODE(ENCODE('mysql','mysqlkey'),'mysqlkey');