MySQL密码加密与解密详解
有多种前端加密算法可用于数据加密、解密,这是一种简单的数据库级别的数据加密、解密解决方案。
以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT())。
1.建表:建表时注意数据的类型
CREATE TABLE users( username VARCHAR(10), PASSWORD VARCHAR(10), testpswd VARBINARY(20) );
此表有三个字段,‘用户名‘ ,‘密码‘ ,‘加密的密码‘。
2.在表中插入数据
INSERT INTO users (username,PASSWORD,testpswd) VALUES (‘sxyu‘,‘1233210‘,AES_ENCRYPT(‘1233210‘,‘key‘));
插入一条记录,AES_ENCRYPT()函数需要一个“key”来协助加密,解密同时也需要它,需要牢记。
3.从表中查询加密数据(解密):
SELECT username,PASSWORD,AES_DECRYPT(testpswd,‘key‘) FROM users
从查询结果可以发现,解密后的密码与原本的密码是相同的。