在PHP 中使用鹽進行安全密碼哈希 問題: 什麼是PHP 中安全密碼保護的最佳實踐,考慮到MD5的限制以及速度和速度之間的平衡需要安全性? 答案: 雜湊機制與鹽 在PHP 中,bcryptP 是推薦的密碼雜湊機制。它使用稱為“blowfish”的計算密集型函數,使得暴力破解密碼變得困難。 鹽是在散列之前添加到密碼的隨機值,可防止相同的密碼產生相同的散列。它提高了針對彩虹表攻擊的安全性。 好的鹽具有高熵,確保唯一性和不可預測性。 選擇雜湊函數 Bcrypt 是最安全的選擇。 如果 bcrypt不可用,請使用 scrypt、帶有 SHA2 雜湊值的 PBKDF2 或 PHPASS(舊版選項)。 最佳實踐 避免限制密碼字元或長度. 強制執行合理的最小密碼長度(例如10字元)。 需要大小寫字母、數字和符號的組合,以增加密碼熵。 資料庫外洩後重設密碼。 其他注意事項 儲存多個雜湊密碼不建議(例如,使用不同的演算法),因為它會增加複雜性,而沒有顯著的安全優勢。 避免將 hash() 與 bcrypt 一起使用,因為它需要十六進位或 base64 編碼以防止引入會削弱安全性的流氓字符.