什麼是 Argon2?
Argon2 是一種密碼雜湊演算法,設計目的是提高離線破解密碼的成本。它結合重複運算與可設定的記憶體成本,因此攻擊者每猜測一個密碼,都需要投入時間與記憶體。
為什麼 Argon2id 通常是預設選擇:
- 對大多數密碼儲存系統而言,它比單獨使用 Argon2i 或 Argon2d 更能兼顧抵抗側通道攻擊與 GPU 破解
- 編碼後的輸出會將演算法、版本、記憶體、迭代次數、平行度、鹽值和雜湊儲存在同一個可攜字串中
- 唯一的隨機鹽值可防止相同密碼產生相同的儲存雜湊
- 隨著驗證環境變快,可以提高記憶體與迭代次數設定
如何使用這個工具:
- 輸入您要雜湊的密碼。
- 保留產生的鹽值,或建立新的隨機鹽值。
- 選擇 Argon2 變體,並為將要驗證雜湊的系統調整記憶體、迭代次數、平行度與雜湊長度。
- 產生編碼後的雜湊,並將完整字串儲存在您的應用程式資料庫中。
安全注意事項:
- 不要儲存或記錄明文密碼。
- 每個密碼都使用新的隨機鹽值。
- 只有在您的驗證器也擁有相同秘密值時,才使用選用的秘密值;否則日後將無法驗證雜湊。
- 優先使用在真實使用者登入延遲仍可接受的前提下,最高的記憶體與迭代次數設定。