mysql中加密和解密!

PASSWORD():

創建一個經過加密的密碼字符串,適合於插入到MySQL的安全系統。該加密過程不可逆,和unix密碼加密過程使用不同的算法。主要用於MySQL的認證系統。  

ENCRYPT(,):

使用UNIX crypt()系統加密字符串,ENCRYPT()函數接收要加密的字符串和(可選的)用於加密過程的salt(一個可以唯一確定口令的字符串,就像鑰匙一樣),注意,windows上不支持

ENCODE(,)   DECODE(,):

加密解密字符串。該函數有兩個參數:被加密或解密的字符串和作爲加密或解密基礎的密鑰。Encode結果是一個二進制字符串,以BLOB類型存儲。加密成都相對比較弱

MD5():計算字符串的MD5校驗和(128位)

SHA5():計算字符串的SHA5校驗和(160位)

以上兩個函數返回的校驗和是16進制的,適合與認證系統中使用的口令。

Eg:SELECT  *  FROM  USERS  WHERE  NAME=’JOHN’  AND  PASSWORD=MD5(‘MYPASS’);  

例子:  

create table zhao(id int  primary key ,password char(10));

insert into zhao values(1,encode('zhao','jiami'));

select decode(password ,'jiami') from zhao id = 1;  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章