MySQL中AES_ENCRYPT('密碼','鑰匙')函數可以對字段值做加密處理,AES_DECRYPT(表的字段名字,'鑰匙')函數解密處理
使用該AES_ENCRYPT('密碼','鑰匙')函數進行加密之後需要使用HEX()轉成十六進制,存入數據庫,取出使用 用UNHEX()函數
取出。
加密:
HEX(AES_ENCRYPT('待加密內容','祕鑰'))
解密:
AES_DECRYPT(UNHEX('待解密內容'),'密鑰')
在mysql 編碼也都設置爲 UTF-8MB4情況下,當待加密內容有中文時, 通過解密獲取到的是亂碼,經過查找資料使用如下函數解決
CONVERT (AES_DECRYPT(UNHEX('待解密內容'),'密鑰') USING utf8)
參考博文:
https://blog.csdn.net/qq_39865076/article/details/84579639