Argon2 哈希生成與驗證
生成 Argon2id、Argon2i、Argon2d 的 PHC 字符串,限制瀏覽器內存並驗證版本 19 哈希。
完整 PHC 字符串
生成結果使用 $argon2id$、$argon2i$ 或 $argon2d$,包含 v=19、內存 m、迭代 t、並行參數 p、鹽值和哈希。驗證從字符串讀取參數,在分配內存前檢查大小,再返回 matches=true 或 false。不接受版本 16 哈希。
默認 Argon2id 配置為 65536 KiB(64 MiB)、t=3、p=4、32 字節輸出和隨機 16 字節鹽。KiB 表示 1024 字節;即使只在一個 Worker 中執行,並行參數也會影響哈希。
可復現輸入與計算限制
密碼使用 UTF-8,不去空格、不做規範化,支持空字符串。自定義十六進制鹽須有 8–64 字節。普通輸入使用固定版本 hash-wasm;其包裝不接受的合法空密碼使用既有 noble-hashes 實現,並與獨立向量對照。
內存最多 262144 KiB,且至少為 8×p;t 為 1–10,p 為 1–8,m×t 不超過 786432,輸出為 4–64 字節。取消或 30 秒超時會終止 Worker;生產設置仍需針對實際服務測量。
參考
常見問題
默認選擇哪種變體?
默認選擇 Argon2id。其他變體用於復現既有系統和測試向量,並非可以互換。
輸出是可逆加密嗎?
不是。Argon2 用於密碼哈希或密鑰派生;驗證必須提供候選密碼。
輸入會上傳嗎?
不會。處理在瀏覽器中執行,引擎從本站加載;工具不將輸入發送至處理 API,也不保存輸入。清除可移除可見輸入與結果。