【MySQL】加密与解密函数

使用加密解密函数可以对存入数据库中的数据进行加密和解密处理,防止他人窃取。

函数 用法
PASSWORD(str) 返回字符串str的加密版本,41位长的字符串。加密结果不可逆,常用于用户的密码加密
MD5(str) 返回字符串str进行MD5加密后的值,若参数为null,则返回null
SHA(str) 从原明文密码str计算并返回加密后的密码字符串,当参数为null时,返回null。SHA加密算法比MD5更加安全
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');
posted @ 2022-08-12 15:36  植树chen  阅读(778)  评论(0编辑  收藏  举报