数据库加密解密函数
加密
encrystr:
DELIMITER $$
USE bthelper
$$
DROP FUNCTION IF EXISTS encrystr
$$
CREATE DEFINER=root
@%
FUNCTION encrystr
(originstr VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,encrykey VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci) RETURNS VARCHAR(255) CHARSET utf8mb4
BEGIN
DECLARE str VARCHAR(255) DEFAULT ‘’;
DECLARE encryvalue VARCHAR(255) DEFAULT ‘’;
SET encrykey = IF(encrykey = ‘’,‘default_key’,encrykey);
SELECT encry_value INTO encryvalue FROM keytable WHERE encry_key=encrykey;
SET str= HEX(AES_ENCRYPT(originstr,encryvalue));
RETURN str;
END$$
DELIMITER ;
解密
decrystr:
DELIMITER $$
USE bthelper
$$
DROP FUNCTION IF EXISTS decrystr
$$
CREATE DEFINER=root
@%
FUNCTION decrystr
(encrystr VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,encrykey VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci) RETURNS VARCHAR(255) CHARSET utf8mb4
BEGIN
DECLARE str VARCHAR(255) DEFAULT ‘’;
DECLARE encryvalue VARCHAR(255) DEFAULT ‘’;
SET encrykey = IF(encrykey = ‘’,‘default_key’,encrykey);
SELECT encry_value INTO encryvalue FROM keytable WHERE encry_key=encrykey;
SET str= AES_DECRYPT(UNHEX(encrystr),encryvalue);
RETURN str;
END$$
DELIMITER ;