bcrypt 是一種強大的雜湊演算法,專為安全儲存密碼而設計。它採用了一種稱為金鑰拉伸的技術,與 MD5 或 SHA 等其他基本雜湊演算法相比,計算量大且難以破解。
bcrypt 使用 Eksblowfish 演算法,該演算法派生它的優勢來自於 Blowfish 加密和附加金鑰調度技術的結合。它需要一個鹽(隨機字串)來產生雜湊密碼。即使多次使用相同的密碼,鹽也可確保每個雜湊值都是唯一的。
使用PHP >= 5.5-DEV:
PHP >= 5.5 提供內建密碼雜湊函數:
根據現有密碼驗證使用者提供的密碼
5.5-DEV :從GitHub 安裝相容性庫,以獲得與PHP >= 5.5 相同的功能。
(已棄用)考慮使用帶有 CRYPT_BLOWFISH 常數的 crypt() 函數來產生 bcrypt 雜湊值。但是,此方法已被棄用,不建議用於 5.3.7 以上的 PHP 版本。
使用範例<?php $hash = password_hash('password', PASSWORD_DEFAULT); $isVerified = password_verify('password', $hash); ?>
PHP >= 5.5-DEV:
<?php class Bcrypt { // ...class code here... } $bcrypt = new Bcrypt(); $hash = $bcrypt->hash('password'); $isVerified = $bcrypt->verify('password', $hash); ?>
可以使用使用者提供的密碼輕鬆驗證儲存的雜湊值。
結論bcrypt 是一種高度安全且符合業界標準的 PHP 密碼雜湊演算法。其關鍵的拉伸和基於鹽的設計提供了卓越的保護,防止未經授權的訪問。建議使用內建 PHP 函數或信譽良好的 PHP bcrypt 實作(例如相容性庫)以獲得最佳安全性。以上是如何在 PHP 中使用 bcrypt 安全地散列密碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!