mysql加密解密函數


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 '); 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM