2011年7月17日 星期日

PASSWORD()函數

PASSWORD()函數是MySQL加密資料的方法,此函數會建立一個固定為16字元長度的加密字串(這就是將資料表中的password欄位設計成CHAR(16)的原因)。
PASSWORD()是一種單向加密的技術,益及加密後的字串將無法被還原。
此函數對於儲存日後無需再檢視其加密錢格式的機密性資料相當有用;但對日後需檢視其職的機密性資料(如信用卡卡號),顯然並非一項好的選擇。

example,
SELECT * FROM user WHERE password = PASSWORD('password');
因為儲存資料表中的密碼已利用PASSWORD()函數加密過,故可藉由比較儲存值與PASSWORD()加密過的值,來找出符合的紀錄。PASSWORD()函數有區分字母大小寫,所以此查詢僅於資料庫中與查詢句中的密碼完全符合才能找到資料。

沒有留言:

熱門文章