Toolonit
  1. Accueil
  2. Chiffrement
  3. Argon2

Générateur et vérificateur de hash Argon2

Hachez et vérifiez des mots de passe avec Argon2id, la norme moderne en la matière.

Hacher un mot de passe

Saisissez un mot de passe : son hash apparaît ici.

Paramètres

Variante
Préréglages
Mémoire

m=19456 dans le hash (KiB)

Itérations
Parallélisme

Nombre de voies de mémoire. Elles sont calculées l’une après l’autre ici ; un serveur peut les exécuter en parallèle. Cela change le hash : reprenez la valeur du serveur.

Longueur du hash
Sel

16 nouveaux octets aléatoires pour chaque hash.

Vérifier un mot de passe avec un hash

Une chaîne PHC : $argon2id$, $argon2i$ ou $argon2d$. Les paramètres y sont lus.

Saisissez un mot de passe et un hash pour les vérifier.

Argon2 a remporté la Password Hashing Competition et est normalisé dans la RFC 9106. Il est volontairement lent et gourmand en mémoire, ce qui rend coûteux le cassage de mots de passe sur GPU. Cette page calcule un hash Argon2 avec les paramètres de votre choix, sous forme de chaîne PHC telle que la stockent les bibliothèques de mots de passe ($argon2id$v=19$m=…,t=…,p=…$salt$hash) et en hexadécimal brut, et vérifie un mot de passe avec une chaîne PHC existante. Tout s’exécute dans votre navigateur : le mot de passe ne quitte jamais votre appareil. C’est gratuit et sans inscription.

Comment générer et vérifier un hash Argon2

  1. Saisissez le mot de passe. Le hash apparaît au fil de la frappe, avec le temps de calcul sur votre appareil.
  2. Choisissez un préréglage, ou réglez la mémoire, les itérations et le parallélisme comme sur votre serveur.
  3. Copiez la chaîne PHC, ou le hash brut et le sel en hexadécimal.
  4. Pour vérifier un hash stocké, collez-le avec le mot de passe sous « Vérifier un mot de passe avec un hash » : vous voyez « Correspond » ou « Ne correspond pas ».

Fonctionnalités

  • Argon2id (par défaut), Argon2i et Argon2d, version 19
  • Préréglages : minimum OWASP (19 Mio, t=2, p=1), RFC 9106 mémoire réduite (64 Mio, t=3, p=4) et Élevé (256 Mio, t=3, p=4)
  • Mémoire de 1 Mio à 1 Gio, itérations de 1 à 16, parallélisme de 1 à 16, hash de 4 à 128 octets
  • Un sel aléatoire de 16 octets, ou le vôtre en texte, en hexadécimal ou en Base64 (de 8 à 1024 octets)
  • La chaîne PHC, plus le hash brut et le sel en hexadécimal, chacun avec un bouton « Copier »
  • Vérifie les chaînes $argon2id$, $argon2i$ et $argon2d$ (v=19 ou v=16) en lisant les paramètres dans le hash

Est-ce confidentiel ?

Oui. Argon2 s’exécute dans votre navigateur avec WebAssembly, dans un worker en arrière-plan, et le sel provient du générateur aléatoire sécurisé du navigateur. Le mot de passe n’est jamais envoyé ni stocké.

Questions fréquentes

Argon2id, Argon2i ou Argon2d ?

Argon2id. La RFC 9106 et l’OWASP le recommandent tous deux pour les mots de passe : il combine la résistance d’Argon2i aux attaques par canal auxiliaire et celle d’Argon2d au cassage sur GPU. Ne choisissez une autre variante que pour correspondre à un système existant.

Quels réglages de mémoire, d’itérations et de parallélisme choisir ?

Le minimum de l’OWASP pour Argon2id est de 19 Mio, 2 itérations et 1 voie. La RFC 9106 propose 64 Mio, 3 itérations et 4 voies quand la mémoire est limitée. La mémoire est la protection la plus forte : augmentez-la jusqu’à ce qu’un hash prenne autant de temps que votre serveur peut s’en permettre par connexion.

Argon2 ou bcrypt ?

Argon2id pour un nouveau système. Tous deux sont volontairement lents, mais Argon2 exige aussi beaucoup de mémoire, ce qui rend coûteux le cassage sur GPU, et il n’a pas de limite de 72 octets pour le mot de passe. Bcrypt est plus ancien, pris en charge presque partout, et reste un choix raisonnable là où Argon2 n’est pas disponible.

Qu’est-ce que la chaîne PHC $argon2id$ ?

C’est la façon dont l’implémentation de référence d’Argon2 stocke un hash : variante, version (v=19), mémoire en Kio (m), itérations (t), voies (p), puis le sel et le hash en Base64 sans remplissage. Les chaînes produites ici sont, caractère pour caractère, celles qu’écrit la bibliothèque de référence (libargon2) pour les mêmes entrées, et crypto_pwhash_str_verify de libsodium les accepte (Argon2id et Argon2i, avec un hash de 16 octets ou plus).

Pourquoi ne puis-je pas utiliser plus de 1 Gio de mémoire ?

Le hash est calculé dans l’onglet de votre navigateur, où la mémoire WebAssembly est limitée : une allocation ne peut pas atteindre 2 Gio, et les téléphones refusent souvent bien moins. Cette page s’arrête donc à 1 Gio, et les hash qui en demandent davantage (comme l’option à 2 Gio de la RFC 9106) ne peuvent être ni créés ni vérifiés ici.

Outils associés