Argon2 es el algoritmo de hashing de contraseñas más seguro disponible actualmente, ganador de la Password Hashing Competition (PHC) en 2015 y estandarizado en RFC 9106.
Características Principales
Está diseñado como “memory-hard”, requiriendo gran cantidad de RAM para computar hashes, lo que frena ataques con GPUs o ASICs masivamente paralelos. Incluye salt automático y parámetros ajustables: memoria (64-256 MiB recomendado), tiempo (iteraciones) y paralelismo (núcleos CPU).
Variantes
- Argon2id: Híbrido recomendado para contraseñas; combina resistencia a side-channel y GPU-cracking.argon2-cffi.readthedocs+1
- Argon2i: Data-independent, ideal contra ataques de timing/cache.[argon2-cffi.readthedocs]
- Argon2d: Data-dependent, optimizado para proof-of-work pero menos para passwords.[rfc-editor]
Uso en Práctica
En Python: argon2.hash_password(password.encode(), salt) con libs como argon2-cffi. Siempre usa parámetros que tomen ~100-500ms por hash en tu hardware para equilibrar UX y seguridad.
Supera a bcrypt/PBKDF2 en resistencia moderna. onlinehashcrack+1