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)提供了良好的平衡。
相同密碼總會產生相同雜湊嗎?
不會。每個雜湊都包含隨機鹽值,因此相同密碼會產生不同雜湊。所以要核對密碼時,應使用驗證模式,而不是相互比較雜湊。
我的密碼會傳送到伺服器嗎?
不會。所有雜湊計算和驗證都在你的瀏覽器本機完成;密碼絕不會離開你的裝置。