PHP密碼加密技術phpass


存儲密碼

使用 phpass 庫來哈希和比較密碼

經 phpass 0.3 測試,在存入數據庫之前進行哈希保護用戶密碼的標准方式。 許多常用的哈希算法如 md5,甚至是 sha1 對於密碼存儲都是不安全的, 因為駭客能夠使用那些算法輕而易舉地破解密碼

對密碼進行哈希最安全的方法是使用 bcrypt 算法。開源的 phpass 庫以一個易於使用的類來提供該功能。

示例

<?php// Include phpass 庫require_once('phpass-03/PasswordHash.php')

// 初始化散列器為不可移植(這樣更安全)$hasher = new PasswordHash(8, false);

// 計算密碼的哈希值。$hashedPassword 是一個長度為 60 個字符的字符串.$hashedPassword = $hasher->HashPassword('my super cool password');

// 你現在可以安全地將 $hashedPassword 保存到數據庫中!

// 通過比較用戶輸入內容(產生的哈希值)和我們之前計算出的哈希值,來判斷用戶是否輸入了正確的密碼$hasher->CheckPassword('the wrong password', $hashedPassword);  // false

$hasher->CheckPassword('my super cool password', $hashedPassword);  // true?>

陷阱

  • 許多資源可能推薦你在哈希之前對你的密碼“加鹽”。想法很好,但 phpass 在 HashPassword() 函數中已經對你的密碼“加鹽”了,這意味着你不需要自己“加鹽”。
可以到此處:http://www.openwall.com/phpass/下載phpass的源碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM