0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
設定
在 WordPress 使用的格式中生成和驗證密碼哈希。加密時,請輸入密碼以獲得準備好插入到資料庫中的哈希。驗證時,請將明文密碼與儲存的哈希進行比較,以確認是否相符。

bcrypt 使用預先散列的 HMAC-SHA384。WordPress 6.8 及以上版本格式。前綴為 "$wp$2y$"。

WordPress 的密碼無法「解密」: 該演算法為單向。若要確認密碼是否與哈希碼相符,請使用「驗證」模式。

參數

bcrypt 輪數 (4-15)。WordPress 預設使用 10。

運作方式

此工具以與 WordPress 相同的格式產生和驗證密碼雜湊,便於遷移使用者、修復登入或直接向資料庫插入密碼。

它支援兩種格式:帶 HMAC-SHA384 預雜湊的 bcrypt(WordPress 6.8 及以後,前綴 $wp$2y$)以及基於迭代 MD5 的 phpass(更早版本,前綴 $P$)。在驗證模式下,它會自動偵測格式。

成本控制套用多少輪:成本越高,雜湊計算越慢,也越能抵抗暴力破解。WordPress 預設對 bcrypt 使用 10,對 phpass 使用 8。

範例

bcrypt (WP 6.8+)$wp$2y$10$… → 在標準 60 字元 bcrypt 前加上 $wp$ 前綴。
phpass (WP < 6.8)$P$B… → 共 34 個字元,包含 8 個字元的鹽值。每個雜湊都包含一個隨機鹽值,因此相同密碼每次都會產生不同的雜湊。
驗證密碼 + 儲存的雜湊 → 相符 / 不相符。

使用情境

  • 透過直接編輯 wp_users 表中的 user_pass 欄位來重設使用者密碼。
  • 在保留現有密碼的情況下,將帳戶遷入或遷出 WordPress。
  • 檢查密碼是否與從資料庫匯出的雜湊相符。
  • 產生測試雜湊,以開發或除錯網站的身分認證。

常見問題

WordPress 對密碼使用什麼格式?

從 6.8 版起使用帶 HMAC-SHA384 預雜湊的 bcrypt(前綴 $wp$2y$)。更早版本使用 phpass,一種基於迭代 MD5 的可移植方案(前綴 $P$)。兩者都包含鹽值。

為什麼 WordPress 6.8 改用 bcrypt?

phpass(迭代 MD5)在當今攻擊面前已過時;bcrypt 抵抗力強得多。SHA-384 預雜湊還能避開 bcrypt 對密碼的 72 位元組限制。

我可以把雜湊直接貼到資料庫中嗎?

可以。將產生的雜湊複製到 wp_users 表的 user_pass 欄位;WordPress 登入時同時識別 bcrypt 和 phpass 格式。

什麼是成本,應該使用什麼值?

它是工作因子,即計算多少輪。值越高越安全,但越慢。預設值(bcrypt 為 10,phpass 為 8)提供了良好的平衡。

相同密碼總會產生相同雜湊嗎?

不會。每個雜湊都包含隨機鹽值,因此相同密碼會產生不同雜湊。所以要核對密碼時,應使用驗證模式,而不是相互比較雜湊。

我的密碼會傳送到伺服器嗎?

不會。所有雜湊計算和驗證都在你的瀏覽器本機完成;密碼絕不會離開你的裝置。