<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 使用?[phpass](http://www.openwall.com/phpass/)?庫來哈希和比較密碼 經 phpass 0.3 測試,在存入數據庫之前進行哈希保護用戶密碼的標準方式。 許多常用的哈希算法如 md5,甚至是 sha1 對于密碼存儲都是不安全的, 因為[駭客能夠使用那些算法輕而易舉地破解密碼](http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/)。 對密碼進行哈希最安全的方法是使用 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() 函數中已經對你的密碼“加鹽”了,這意味著你不需要自己“加鹽”。 ## 進一步閱讀 * [phpass](http://www.openwall.com/phpass/) * [為什么使用 md5 或 sha 哈希密碼是不安全的](http://blogs.msdn.com/b/lixiong/archive/2011/12/25/md5-sha1-salt-and-bcrypt.aspx)([中文](http://blogs.msdn.com/b/lixiong/archive/2011/12/25/md5-sha1-salt-bcrypt.aspx)) * [怎樣安全地存儲密碼](http://codahale.com/how-to-safely-store-a-password/)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看