mysql下的加密函數有如下幾個
1、PASSWORD():建立一個經過加密的密碼字元串,适合于插入到MySQL的安全系
統。該加密過程不可逆,和unix密碼加密過程使用不同的算法。主要用于MySQL的認證系統。
2、ENCRYPT(,):使用UNIX crypt()系統加密字元串,ENCRYPT()函數接收要加密的字元串和(可選的)用于加密過程的salt(一個可以唯一确定密碼的字元串,就像鑰匙一樣),注意,windows上不支援
3、ENCODE(,) DECODE(,):加密解密字元串。該函數有兩個參數:被加密或解密的字元串和作為加密或解密基礎的密鑰。Encode結果是一個二進制字元串,以BLOB類型存儲。加密程度相對比較弱
加密 INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', 'abracadabra'));
解密 SELECT DECODE(password, 'abracadabra') FROM users WHERE username='joe';
4、MD5():計算字元串的MD5校驗和(128位)
SHA5():計算字元串的SHA5校驗和(160位)
以上兩個函數傳回的校驗和是16進制的,适合與認證系統中使用的密碼。
5、AES_ENCRYPT AES_DECRYPT示例
insert into users(test) values(AES_ENCRYPT('teststr','salt'));
select AES_DECRYPT(test,'salt') from users;
ps:需要Linux 且 AES_ENCRYPT 加密結果最好也以BLOB類型存儲
加密 select aes_encrypt(name, 'password ');
解密 select aes_decrypt(aes_encrypt(name, 'password '), 'password ');
轉載于:https://www.cnblogs.com/modou/articles/3559383.html