Command Palette

Search for a command to run...

BC

Bcrypt 產生器

在瀏覽器中產生並驗證 bcrypt 密碼雜湊值,並具有可調整的成本係數

什麼是 Bcrypt 產生器?

bcrypt 產生器將普通密碼轉換為 bcrypt 雜湊值:一個 60 個字元的字串,可以安全地儲存密碼,而無需保留密碼本身。 Bcrypt 是 Niels Provos 和 David Mazieres 於 1999 年設計的密碼雜湊函數,基於 Blowfish 密碼構建,它仍然是 Laravel、Spring Security 和 Django(作為支援的幾個雜湊值之一)等框架中的預設選擇。此工具會從任何密碼產生雜湊值,並在驗證模式下檢查密碼是否與您已有的雜湊值相符。

Bcrypt 可以做兩件事,而原始 SHA-256 則不會。它用輸入的 16 個隨機位元組來鹽分每個哈希值,因此具有相同密碼的兩個用戶會獲得不同的哈希值,並且預先計算的彩虹表毫無用處。而且它故意變慢:4 到 31 的成本係數控制運行多少個金鑰擴展輪,每一步的工作量加倍。這種緩慢是重點。快速雜湊可以讓資料庫洩漏的攻擊者在 GPU 上每秒嘗試數十億次猜測; cost-12 bcrypt 雜湊值需要五分之一秒左右的 CPU 時間,這使得攻擊者每核心只能猜測一秒鐘,這使得被盜資料庫無法在一夜之間變成明文密碼清單。

輸出格式是自描述的。像$2b$12$R9h/cIPz0gi。URNNX3kh2OPST9/PgBkqquzi。Ss7KIUgO2t0jWMUW 這樣的雜湊包含四個由美元符號分隔的欄位:版本(2b)、成本(12),然後是22 字元的Base64 鹽,然後是31 字元摘要。由於鹽和成本在雜湊內部傳播,因此驗證除了密碼和雜湊字串之外不需要任何東西,這正是此處使用的驗證模式。

一切都在您的瀏覽器中運行客戶端。您輸入的密碼、貼上哈希值以及產生的鹽永遠不會離開選項卡、不點擊伺服器、不登入日誌。開發人員工具的網路面板顯示唯一的請求是使用檢查和使用記錄,它們攜帶成本設置,但絕不攜帶密碼或哈希。 bcrypt 演算法在純 TypeScript 中實現,因此頁面載入後該工具也可以離線工作。輸出與 OpenBSD、PHP password_hash (PASSWORD_BCRYPT)、Node bcrypt 庫以及每個主要框架中的 bcrypt 驗證器逐字相容,因此此處產生的哈希值會在您的應用程式中驗證,反之亦然。

嘗試 bcrypt 雜湊產生器的快速方法是範例。在生成中,按加載樣本填寫正確的馬電池主食,將成本係數保持在 10,然後按生成雜湊。您會得到一個 60 個字元的字串,起始價格為 $2b$10$,然後再次按生成雜湊會給出不同的字串,因為每次鹽都是新的。在驗證中,載入範例填入儲存的雜湊值和相同的密碼,並驗證報告符合(成本 10)。將第一個字母更改為大寫 C,它報告不匹配。 bcrypt 密碼產生器應該證明該往返。

如何使用 Bcrypt 產生器?

  1. 輸入密碼

    鍵入或貼上您要散列的密碼。 Bcrypt 使用 UTF-8 編碼密碼的前 72 個字節,因此任何更長的內容都會被截斷;當這種情況發生時,該工具會警告您。

  2. 選擇成本因素

    使用滑桿選擇 4 到 31 的成本。每一步都會使雜湊時間加倍。成本 10 至 12 是 2020 年代生產登入系統的常見範圍;成本越高,破解能力越強,但每次合法登入的速度也越慢。

  3. 產生哈希值

    點擊生成。建立一個新的隨機 16 位元組鹽,並在瀏覽器中計算 bcrypt 雜湊值。由於鹽是隨機的,因此對相同密碼進行雜湊處理會再次產生不同的雜湊值,這是預期且正確的。

  4. 複製它,或切換到驗證

    將 60 個字元的雜湊複製到您的使用者表或設定中。若要根據現有雜湊檢查密碼,請切換到驗證模式,貼上雜湊和候選密碼,並使用雜湊中嵌入的成本和鹽報告匹配或不匹配。

主要特點

  • 生成並驗證

    在一個工具中破解新密碼或根據現有 bcrypt 雜湊檢查密碼

  • 可調整的成本係數

    從成本 4 到 31 的滑桿,可即時估計工作量隨著您的增加而如何成長

  • 每次都是隨機鹽

    使用 Web Crypto API 為每個雜湊產生加密強 16 位元組鹽

  • 標準相容輸出

    產生 OpenBSD、PHP password_hash、Laravel 和 Node bcrypt 都接受的 $2b$ 格式

Frequently Asked Questions

是的,因為雜湊完全發生在您的瀏覽器中,並且密碼永遠不會發送到任何地方。您可以在開發人員工具的「網路」標籤中驗證這一點:產生雜湊值僅進行使用檢查和使用記錄,並且不包含密碼、鹽或雜湊值。也就是說,瀏覽器標籤不是密碼管理器,因此請避免將生產帳戶的即時憑證貼到您未建立的任何網頁中,並在完成後關閉該標籤。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

bcryptbcrypt generatorbcrypt hashpassword hashbcrypt verifyhash passwordbcrypt cost factorbcrypt onlinebcrypt hash generatorbcrypt password generatorpassword_hashsalt