關於MYSQL數據庫加密的方法

MySQL數據庫提供的加密函數主要有以下幾種
1、可逆的
ENCODE(str,pass_str)加密,DECODE()解密,
使用 pass_str 作爲密碼,解密 str 。 使用 DECODE() 解密結果,效果如下:
這裏寫圖片描述
AES_ENCRYPT(str ,key_str )加密 , AES_DECRYPT(crypt_str ,key_str )解密
其中str作爲密碼,key_str作爲參數名字,crypt_str ,key_str 作爲參數名
這裏寫圖片描述
不可逆的:
ENCRYPT(str [,salt ])與AES_ENCRYPT()類似,使用 Unix crypt() 系統調用加密 str 。 salt 參數應爲一個至少包含 2 個字符的字符串。若沒有給出 salt 參數,則使用任意值
這裏寫圖片描述
PASSWORD(str)其中str是作爲密碼
這裏寫圖片描述
OLD_PASSWORD(str)用的較少,所以不太瞭解。。。。
MD5(str )該值以 32 位十六進制數字的二進制字符串的形式返回 , 若參數爲 NULL 則會返回 NULL 。例如,返回值可被用作散列關鍵字
這裏寫圖片描述
目前常用到的加密函數就這些,不過前兩種可逆的函數,加密出來的值都是亂碼,這是可以用HEX()將其轉化成數字與字母的形式,
這裏寫圖片描述
這裏寫圖片描述
不過題主在這裏是加密了兩項參數,當加密兩項時,同時使用AES_ENCRYPT或將AES_ENCRYPT和ENCRYPT一起使用,都會造成有一列或者兩列爲空,但是在前面添加 HEX()函數則不會出現這種情況了。HEX():HEX()函數:返回十六進制值的字符串表示形式。注意:並不是十進制轉化爲十六進制數,而是轉化爲字符串。。。
UNHEX() 函數: 每對十六進制數字轉化爲一個字符。

UNHEX() 函數是解密的時候用到的,
這裏寫圖片描述
這些加密方法中AES_ENCRYPT可以算是加密性比較高的。

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