Argon2

Argon2 — победитель Password Hashing Competition (2015). Стандарт для хранения паролей. Устойчив к GPU/ASIC-брутфорсу через memory-hardness.

Варианты

Параметры

ПараметрЧтоOWASP 2025
m (memory)RAM в KiB≥ 47104 (46 MiB)
t (iterations)кол-во проходов≥ 1
p (parallelism)потоков1

Формат PHC-строки

$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$hash...

Как работает (упрощённо)

  1. Строится матрица блоков в памяти (m KiB).
  2. Каждый блок зависит от предыдущих псевдослучайных блоков.
  3. t проходов по всей матрице.
  4. Финальный блок = хеш.

Для брутфорса нужна вся память — на GPU это дорого (мало памяти на ядро).

Argon2 vs альтернативы

Argon2idscryptbcryptPBKDF2
Memory-hardдаданетнет
Настройкаm, t, pN, r, pcostiterations
OWASP реко1-й2-й3-й4-й
Год2015200919992000

Использование

# Python
from argon2 import PasswordHasher
ph = PasswordHasher()
h = ph.hash("password")
ph.verify(h, "password")

# CLI (argon2 из libargon2)
echo -n "password" | argon2 somesalt -id -t 3 -m 16 -p 4

См. также