MYSQL密碼解密函數的使用


MYSQL密碼加密函數的用途

MYSQL密碼加密函數的用途
來源:中國自學編程網   發布日期:2008-05-07 

在新增一條數據庫記錄時,有時候密碼需要加密存儲,此時我們采用MYSQL自帶的加密算法

PASSWORD("YourPassword")經過此函數后就可以將密碼加密后存儲在數據庫.

在修改密碼時同樣會用到這樣的函數.

先將新輸入的密碼字符串,經過此函數加密碼后,再與從數據庫取出的密碼作比較,這樣才能保證相匹配,否則永遠也不可能相等.

為新輸入的字符串加密  select Password("YourPassowrd");用一人虛表進行此函數.

下面是一些相關的介紹

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

 


免責聲明!

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



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