Hash et Sécurité

Générateur de hachage Argon2

Générez un hachage Argon2id salé pour stocker un mot de passe.

Évaluez cet outil

Comment utiliser Générateur de hachage Argon2

  1. Saisissez le mot de passe que vous voulez hacher.
  2. Laissez la variante sur Argon2id, sauf raison spécifique de faire autrement.
  3. Cliquez sur Générer et copiez le hachage dans votre base de données.

À propos de Générateur de hachage Argon2

Argon2 a remporté la Password Hashing Competition en 2015 et a été conçu par Alex Biryukov, Daniel Dinu et Dmitry Khovratovich. Il existe en trois variantes. Argon2d dépend des données — la plus rapide, mais son schéma d'accès mémoire dépend du mot de passe, ce qui peut divulguer des informations de timing. Argon2i est indépendant des données et résiste aux attaques par canal auxiliaire. Argon2id est un hybride des deux et constitue généralement le choix recommandé ; c'est ce que l'OWASP recommande pour les nouvelles applications, et c'est la valeur par défaut ici.

La propriété phare est qu'Argon2 est gourmand en mémoire (« memory-hard »). Il consomme délibérément un large bloc de RAM pendant le hachage, et c'est bien tout l'intérêt : un GPU ou un ASIC peut embarquer un nombre énorme de minuscules cœurs parallèles, mais il ne peut pas donner à chacun d'eux, à faible coût, 64 Mo de mémoire rapide. Attaquer Argon2 coûte donc réellement de l'argent en matériel, contrairement à l'attaque d'un hachage rapide. C'est l'avantage clé par rapport à bcrypt, qui est lent mais pas particulièrement gourmand en mémoire.

Comme bcrypt, Argon2 sale automatiquement chaque hachage, si bien que le résultat diffère à chaque exécution — et c'est normal — le sel et tous les paramètres sont encodés dans la chaîne $argon2id$… elle-même, ce qui permet à un vérificateur de les relire ensuite. Ne vérifiez jamais un mot de passe en le hachant à nouveau et en comparant les chaînes ; utilisez plutôt notre vérificateur. Cet outil utilise un coût mémoire fixe de 64 Mo, 4 itérations et 1 thread, car il s'agit d'un point d'accès public et des paramètres non bornés seraient un moyen facile de mettre le serveur à genoux. Sur votre propre serveur, ajustez le coût à votre matériel.

Questions fréquentes

Pourquoi le hachage est-il différent à chaque clic sur Générer ?

Parce qu'Argon2 ajoute un sel aléatoire nouveau à chaque hachage. C'est intentionnel et c'est exactement ce que vous voulez — cela empêche les attaquants de précalculer des rainbow tables. Les deux hachages sont valides pour le même mot de passe. Pour vérifier un mot de passe, utilisez un vérificateur plutôt que de comparer des chaînes.

Argon2id, Argon2i ou Argon2d ?

Argon2id. C'est l'hybride des deux autres et le choix que l'OWASP recommande pour les nouvelles applications. Ne choisissez Argon2i que si vous avez spécifiquement besoin de la variante indépendante des données.

Argon2 ou bcrypt ?

Argon2id est la recommandation actuelle, principalement parce qu'il est gourmand en mémoire et rend donc le cracking par GPU et ASIC bien plus coûteux. bcrypt reste une option solide et extrêmement bien éprouvée, prise en charge presque partout, donc une installation bcrypt existante n'a rien d'une urgence.

Puis-je modifier le coût mémoire ou le nombre d'itérations ?

Pas ici — ils sont fixés à 64 Mo, 4 itérations et 1 thread car il s'agit d'un point d'accès public. Dans votre propre code, vous pouvez et devriez les ajuster ; les paramètres sont stockés dans la chaîne de hachage, donc un hachage créé ici reste vérifiable partout.

Mon mot de passe est-il stocké ?

Non. Il est envoyé à notre serveur pour être haché, car les navigateurs ne peuvent pas calculer Argon2, puis haché et immédiatement supprimé — jamais journalisé, jamais stocké. Pour un mot de passe de production réel, le générer sur votre propre serveur reste la pratique la plus sûre.