首先,我認識的加密函數有以下幾個:
password(plainText):舊版(OLD_PASSWORD())加密后長度16位,新版41位select length(password("123456"))可以用來查看加密后的字符串的長度。這種加密方法依賴數據庫,需要保持連接狀態,即有一定的網絡開銷。
md5(plainText):加密后長度32位,該加密算法不可逆,使用的是信息摘要算法,如果拿來做壓縮亦為有損壓縮。理論上即使有反向算法也無法恢復信息原樣。常被用來檢驗下載數據的完整性。
sha(plainText):
sha1(plainText):
encode(plainText,key)和decode(cipherText):
AES_ENCRYPT(plainText,key):返回用密鑰key對明文利用高級加密算法加密后的結果,結果是一個二進制字符串,以BLOB類型存儲。
AES_DECRYPT(cipherText,key):針對上一個函數的解密算法
ENCRYPT(plainText,key):使用UNIXcrypt()函數,用關鍵詞salt(一個可以唯一確定口令的字符串,類似密鑰)加密明文。