下面是PASSWord函數
SELECT PASSWORD('pa55Word');
+----------------------+
| PASSWORD('pa55Word') |
+----------------------+
| 1d35c6556b8cab45 |
+----------------------+
1 row in set (0.00 sec)
下面是ENCRYPT函數
SELECT ENCRYPT('pa55Word');
+---------------------+
| ENCRYPT('pa55Word') |
+---------------------+
| up2Ecb0Hdj25A |
+---------------------+
1 row in set (0.17 sec)
上面的每個函數都返回了一個加密後的字符串。為了區分加密字符串的大小寫,最好在使用ENCRYPT生成加密字符串時,將這個字段定義成CHAR BINARY類型。
上面列舉了3種加密的方法,但我認為使用MD5加密是最好的。這是因為這樣做可以將明文密碼顯示在處理列表中或是查詢日志中,這樣便於跟蹤。如下面的INSERT語句使用插入了一條記錄,其中的密碼使用了MD5進行加密:
INSERT INTO table1 (user, pw) VALUE ('user1', MD5('passWord1') )
可以通過如下的語句進行密碼驗證:
SELECT * FROM table1 WHERE user = 'user1' AND pw = MD5('passWord1')
哈希加密方法可以很好地對密碼進行加密,使用了這種方法加密,密碼將無法 恢復成明文。