MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理
       AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理


例,表结构:

wKioL1YY1LvAA0sHAAEWJZP20qc946.jpg


现在插入一条数据,对passwd密码字段加密。

INSERT INTO credit_card(cid,NAME,email,passwd) 
VALUES(101,'hechunyang','hechunyang@163.com',AES_ENCRYPT('123456','hechunyang'));

wKiom1YY1OLQaojCAAIHRLUEpNE953.jpg


如图所示,插入成功。下面看看数据库加密的效果:


wKioL1YY1RjQEnfCAAFuCivWWfo024.jpg

可以看到,已经加密,看见的是乱码。

用户登录的时候要进行验证,程序需要解密,通过函数AES_DECRYPT(表的字段名字,'钥匙')

SELECT cid,NAME,email,AES_DECRYPT(passwd,'hechunyang') as passwd FROM credit_card 
WHERE NAME='hechunyang';

wKioL1YY1VLB16baAAGoicSsUtw518.jpg


可以看到,已经解密。