在瀏覽器中產生與驗證 bcrypt、scrypt、Argon2 密碼雜湊,參數低於 OWASP 建議時會提出警告。驗證時也能辨識 Django 的 PBKDF2 雜湊。
選擇「產生雜湊」,再在「演算法」選 bcrypt、scrypt 或 Argon2。
調整參數(bcrypt 的「成本因子」,scrypt 的 N、r、p,Argon2 的變體、「記憶體」「迭代次數」「平行度」),留意出現的警告。
輸入「密碼」並按「產生雜湊」,複製雜湊字串;scrypt 與 Argon2 還會提供原始雜湊和鹽值。
要驗證密碼,切換到「驗證雜湊」(或按「驗證這個雜湊」),貼上「雜湊字串」,填入「要驗證的密碼」後按「驗證」。
不會。雜湊在你裝置上的背景執行緒中計算,密碼和雜湊都不儲存也不傳送。
每次都會使用新的 16 位元組隨機鹽(bcrypt 會自行產生鹽)。鹽就存在雜湊字串裡,所以驗證照樣能通過。只有需要重現已知雜湊時才用「自訂」鹽。
新系統建議用 Argon2id,OWASP 的最低設定是 m = 19 MiB、t = 2、p = 1;scrypt 建議 N = 2^17、r = 8、p = 1;bcrypt 的成本因子至少為 10。低於這些值時工具會提醒。
bcrypt($2a$、$2b$、$2y$)、Argon2id/2i/2d 的 PHC 字串、scrypt($scrypt$ 與 $s0$),以及 Django 的 pbkdf2_sha256 / pbkdf2_sha1。Linux crypt 雜湊($1$、$5$、$6$、$y$)、Apache $apr1$ 和一般 MD5/SHA 摘要可以辨識,但不支援驗證。
bcrypt 只使用密碼的前 72 個位元組,其餘部分會被忽略,發生時工具會提醒。Argon2 與 scrypt 沒有這個限制。
不能,它只判斷你輸入的密碼是否相符。密碼雜湊本來就設計成單向且計算緩慢,所以產生時要稍等一下,可以看計時,也可以按「取消」。