在 MySQL 資料庫中,PASSWORD() 函數常被用於對字串進行加密,生成的雜湊值以星號(*)開頭,例如 *DEE59C300700AF9B586F9F2A702231C0AC373A13。這是一種單向加密方式,適合用於儲存使用者密碼,但需注意其加密演算法隨 MySQL 版本演進而變化。
OLD_PASSWORD() 是 MySQL 早期版本(4.1 之前)使用的加密函數,生成的雜湊值為 16 位十六進位字串,例如 077baf58491e1952。此函數主要為了相容舊版客戶端而保留,安全性較低,不建議在新專案中使用。
使用 PASSWORD() 需連接資料庫執行,存在網路開銷,且加密邏輯綁定於資料庫層,缺乏彈性。實務上,更推薦在應用層使用 MD5、SHA-256 或 bcrypt 等演算法進行明文加密,並配合鹽值機制,提升安全性與可移植性。
SHA2('plain_text', 256) 或應用層加密庫。OLD_PASSWORD()。