• 欢迎光临~

ase加密后base64编码

开发技术 开发技术 2022-08-03 次浏览

为了应对王安的要求 数据库不能存储明文密码

mysql 版本

mysql> SELECT VERSION();
+------------+
| VERSION()  |
+------------+
| 5.7.33-log |
+------------+
1 row in set (0.11 sec)

使用 ase-128加密

AES_ENCRYPT(`password`,'1234567890123412')

ase64编码一下

  • 原因: ase 加密 后二进制 会乱码 因此必须base64一下
TO_BASE64 (AES_ENCRYPT(`password`,'1234567890123412') )

可以批量更新数据库

update emergency_meeting_device set `password` = TO_BASE64 (AES_ENCRYPT(`password`,'1234567890123412') )

base64解码

from_base64(password)

解密

AES_DECRYPT(from_base64(password),'1234567890123412') 
批量还原数据表原始数据
update emergency_meeting_device set `password` = AES_DECRYPT(from_base64(password),'1234567890123412')

可以明文查询

SELECT
	AES_DECRYPT( from_base64 ( PASSWORD ), '1234567890123412' ) 
FROM
	emergency_meeting_device 
WHERE
	PASSWORD = to_base64 (
	AES_ENCRYPT( '22', '1234567890123412' ));

根据密文查询

SELECT
	AES_DECRYPT( from_base64 ( PASSWORD ), '1234567890123412' ) 
FROM
	emergency_meeting_device 
WHERE
	PASSWORD = 'tNBfa9ZI41zx7QieZ0FWRg==';
	
程序员灯塔
转载请注明原文链接:ase加密后base64编码
喜欢 (0)