PBKDF2 派生與驗證
明確設置 HMAC 哈希及迭代次數派生 PBKDF2 字節,導出完整參數記錄,並在本地驗證候選輸入。
復現字節和參數
PBKDF2 使用密碼字節串、鹽值、HMAC 哈希、迭代次數和輸出長度。本工具通過 Web Crypto 支持 SHA-1/256/384/512,密碼輸入可用 UTF-8、十六進制、Base64 或 Base64url,允許空密碼和內部 NUL 字節。
JSON 記錄是本工具明確的交換包裝,並非通用密碼哈希字符串。記錄包含 algorithm=PBKDF2、version=1、hash、iterations、length、十六進制 salt 和 derivedKey。驗證從記錄讀取參數,候選輸入字節仍按所選密碼編碼解釋。
生產設置與公開向量
初始控件採用 SHA-256、600000 次迭代、32 字節輸出和隨機 16 字節鹽。這些是可修改的起點,並非通用安全處方。示例按鈕使用刻意低成本的 SHA-1 RFC 6070 向量,並顯示診斷;新密碼系統不應直接採用該測試成本。
密碼字節限 16 KiB,鹽限 1 KiB,輸出限 4096 字節。迭代次數為 1–5000000,且迭代次數×ceil(輸出長度/HashLen) 不超過 10000000。Worker 可取消,最長運行 30 秒;高成本計算前會先檢查記錄中的參數。
參考
常見問題
新記錄默認選擇 SHA-1 嗎?
不是。初始控件選擇 SHA-256;保留 SHA-1 是為了復現既有應用和公開測試向量。
不匹配是否代表工具出錯?
不是。驗證計算完成但候選字節不能派生出記錄密鑰時,返回 matches=false;格式錯誤或成本超限會另行報錯。
輸入會上傳或保存嗎?
處理在瀏覽器中完成。工具不會將密鑰、密碼或內容放入 URL、本地存儲或發送至處理 API。清除會移除可見輸入與輸出,但不保證安全擦除由瀏覽器管理的內存。