MySQL中AES_ENCRYPT('密碼','鑰匙')函數 可以對字段值做加密處理
AES_DECRYPT(表的字段名字,'鑰匙')函數 解密處理
例,表結構:
現在插入一條數據,對passwd密碼字段加密。
INSERT INTO credit_card(cid,NAME,email,passwd) VALUES(101,'hechunyang','[email protected]',AES_ENCRYPT('123456','hechunyang'));
如圖所示,插入成功。下面看看數據庫加密的效果:
可以看到,已經加密,看見的是亂碼。
用戶登錄的時候要進行驗證,程序需要解密,通過函數AES_DECRYPT(表的字段名字,'鑰匙')
SELECT cid,NAME,email,AES_DECRYPT(passwd,'hechunyang') as passwd FROM credit_card WHERE NAME='hechunyang';
可以看到,已經解密。