Станом на 2020 рік, найбільш надійний і гнучкий алгоритм у використанні,
той, який найімовірніше оптимізує свою міцність, враховуючи будь-яке обладнання,
є Argon2id або Argon2i .
Він надає необхідний інструмент калібрування для пошуку оптимізованих параметрів міцності з урахуванням заданого часу хешування та використовуваного обладнання.
- Argon2i спеціалізується на жадібному хешуванні пам'яті
- Argon2d спеціалізується на жадібному хешуванні процесора
- Argon2id використовують обидва методи.
Жадібне хешування пам'яті допоможе проти використання GPU для розтріскування.
Весняна безпека / Реалізація замкового підстрибу не оптимізована та відносно тиждень враховує те, що може використати нападник. cf: Весняна документація
В даний час реалізація використовує замок Bouncy, який не використовує паралелізм / оптимізацію, яку будуть мати взломники паролів, тому між нападником та захисником існує непотрібна асиметрія.
Найбільш надійна реалізація, яка використовується для Java, - це mkammerer 's,
баночка / бібліотека офіційної натурної реалізації, написана в Rust.
Він добре написаний і простий у використанні.
Вбудована версія забезпечує вбудовані версії для Linux, Windows та OSX.
В якості прикладу, він використовується JPMorganChase в тессера проект безпеки , що використовується для забезпечення кворуму , його Ефіріума реалізації cryptocurency.
Ось приклад коду від tessera.
Калібрування може проводитися за допомогою de.mkammerer.argon2.Argon2Helper # findIterations
Алгоритм SCRYPT та Pbkdf2 також може бути відкалібрований, записавши простий орієнтир, але поточні мінімальні безпечні значення ітерацій вимагатимуть більшого часу хешування.