Argon2 Générateur de Hachage

Outil en ligne gratuit Argon2 Générateur de Hachage. Traitement 100% local — vos données ne quittent jamais votre appareil.

General
Password Hashing / KDF
Specialized
Deprecated
KiB
iterations

Verify: input format is "password|hash"

Sortie

Le résultat sera affiché ici...

Entrée Calculer le hachage

Usage Guide

À propos d'Argon2

Argon2 est le gagnant du Password Hashing Competition 2015, conçu par l'Université du Luxembourg. C'est actuellement l'algorithme de hachage de mots de passe le plus sécurisé, recommandé par des organisations faisant autorité comme OWASP et NIST pour le stockage des mots de passe. Argon2 a trois variantes : Argon2d (résistant aux GPU), Argon2i (résistant aux canaux latéraux) et Argon2id (mode hybride, recommandé). Contrairement aux algorithmes de hachage traditionnels, Argon2 a des coûts de calcul et une consommation de mémoire ajustables, résistant efficacement aux attaques par force brute, GPU et ASIC.

Recommandé par OWASP : Argon2id est l'algorithme préféré dans la Fiche de triche de stockage de mots de passe OWASP. Il combine la résistance aux GPU d'Argon2d avec la résistance aux attaques par canal latéral d'Argon2i, offrant la protection de sécurité la plus complète. Recommandé pour le stockage des mots de passe de tous les nouveaux projets.

Étapes d'utilisation

Argon2 prend en charge deux opérations : le hachage de mots de passe et la vérification :

1. Sélectionner le modeChoisir le mode 'Chiffrer' pour hacher les mots de passe, ou le mode 'Déchiffrer' pour vérifier les mots de passe
2. Saisir le mot de passeRemplir le mot de passe à hacher ou à vérifier dans la zone de saisie
3. Calculer le hashCliquer sur 'Calculer le hash', Argon2 générera automatiquement un sel aléatoire et calculera le hash
4. Sauvegarder le résultatCopier la chaîne hash complète (incluant les paramètres de l'algorithme, le sel et le hash) pour stocker dans la base de données
5. Vérifier le mot de passePour la vérification, saisir le mot de passe original et la chaîne hash complète, le système extraira automatiquement les paramètres et vérifiera
Protection de la vie privée : Tous les calculs sont effectués localement dans votre navigateur, les données ne sont jamais téléchargées vers des serveurs, traitement entièrement hors ligne.

Caractéristiques de l'algorithme

Argon2 est spécifiquement conçu pour le stockage des mots de passe avec les avantages uniques suivants :

Intensif en mémoireNécessite une grande mémoire (64MB par défaut), rendant les attaques GPU et ASIC extrêmement coûteuses
Coût ajustablePeut ajuster le coût en temps (itérations), le coût en mémoire et le parallélisme pour répondre à différents besoins de sécurité
Résistant aux canaux latérauxArgon2i et Argon2id résistent aux attaques de temporisation de cache et autres attaques par canal latéral
Salage automatiqueGénération de sel aléatoire intégrée, pas besoin de gestion manuelle du sel
VersionnéLa chaîne hash inclut la version de l'algorithme et les paramètres, facilitant les futures mises à niveau et migrations
Configuration des paramètres : La sécurité d'Argon2 dépend de la configuration des paramètres. OWASP recommande : coût mémoire ≥ 47MB (m=47104), coût temps ≥ 1 itération (t=1), parallélisme = 1 (p=1). Si les performances du serveur le permettent, augmenter le coût mémoire à 64MB ou plus. Éviter d'utiliser des paramètres trop bas, car cela réduit la sécurité.

Comparaison des trois variantes

Argon2 a trois variantes adaptées à différents scénarios :

Argon2dDépendant des données, le plus résistant aux GPU/ASIC, mais vulnérable aux attaques par canal latéral, adapté au minage de cryptomonnaies
Argon2iIndépendant des données, résistant aux canaux latéraux, mais résistance aux GPU légèrement plus faible, adapté au hachage de mots de passe
Argon2idMode hybride (recommandé), combine les avantages des deux, résistant à la fois aux GPU et aux canaux latéraux, adapté à tous les scénarios
Choix recommandé : Sauf si vous avez des besoins particuliers, utilisez toujours Argon2id. C'est la recommandation unanime d'OWASP, du NIST et des experts en cryptographie, offrant la protection de sécurité la plus complète.

FAQ

Q: Quelle est la différence entre Argon2 et bcrypt/PBKDF2 ?

A: Argon2 : Algorithme moderne (2015), intensif en mémoire, résistant aux GPU/ASIC, préféré par OWASP. bcrypt : Algorithme classique (1999), intensif en calcul, résistance modérée aux GPU, largement utilisé mais progressivement remplacé par Argon2. PBKDF2 : Algorithme standard (2000), intensif en calcul, vulnérable aux attaques GPU, nécessite des itérations extrêmement élevées (≥ 600k) pour la sécurité. Comparaison des performances : Au même niveau de sécurité, Argon2 est 2-3x plus rapide que bcrypt et 10x+ plus rapide que PBKDF2. Recommandation : Utiliser Argon2id pour les nouveaux projets, migrer progressivement les projets existants vers Argon2.

Q: Comment les paramètres d'Argon2 doivent-ils être configurés ?

A: Configuration recommandée par OWASP: Coût mémoire (m) : 47104 KB (environ 47MB), peut être augmenté à 64MB ou plus si les performances du serveur sont bonnes. Coût temps (t) : 1-3 itérations, généralement 1 suffit. Parallélisme (p) : 1 (mono-thread), éviter les attaques parallèles. Longueur du hash : 32 octets (256 bits). Méthode d'ajustement : Tester dans l'environnement de développement, s'assurer qu'un seul hash prend 0,5-1 seconde, puis ajuster selon les performances du serveur. Note : Des paramètres plus élevés signifient plus de sécurité, mais augmentent la charge du serveur et le temps de réponse.

Q: Pourquoi Argon2 est-il plus adapté au stockage des mots de passe que SHA-256 ?

A: SHA-256 est une fonction de hachage à usage général conçue pour un calcul rapide, ce qui est une faiblesse fatale dans les scénarios de stockage de mots de passe. Les GPU peuvent calculer des milliards de hashes SHA-256 par seconde, rendant même les mots de passe salés vulnérables aux attaques par force brute. Avantages d'Argon2 : 1) Conception lente : Un seul hash prend 0,5-1 seconde, réduisant dramatiquement la vitesse de force brute. 2) Intensif en mémoire : Nécessite une grande mémoire (64MB), les GPU et ASIC ne peuvent pas paralléliser les attaques. 3) Coût ajustable : À mesure que le matériel s'améliore, les paramètres peuvent être augmentés pour maintenir la sécurité. Conclusion : Le stockage des mots de passe doit utiliser des algorithmes de hachage de mots de passe spécialisés (Argon2, bcrypt, PBKDF2), pas des fonctions de hachage à usage général (SHA-256, MD5).

Q: Quel est le format de chaîne hash d'Argon2 ?

A: Argon2 utilise le format de chaîne PHC (Password Hashing Competition) : $argon2id$v=19$m=65536,t=3,p=1$saltbase64$hashbase64.
Significations des composants :
$argon2id : Variante de l'algorithme (id/i/d).
v=19 : Version de l'algorithme (actuellement 19).
m=65536,t=3,p=1 : Coût mémoire (KB), coût temps (itérations), parallélisme.
saltbase64 : Sel encodé en Base64 (16 octets).
hashbase64 : Hash encodé en Base64 (32 octets).
Avantage : Autonome avec tous les paramètres, pas de stockage supplémentaire nécessaire pour la vérification, facilite les futures mises à niveau.

Q: Comment migrer de bcrypt vers Argon2 ?

A: Approche de migration progressive : 1) Double vérification : Conserver la logique de vérification bcrypt, utiliser Argon2 pour les nouveaux utilisateurs et les changements de mot de passe. 2) Mise à niveau transparente : Lorsque les utilisateurs se connectent, vérifier d'abord avec bcrypt, puis immédiatement re-hacher avec Argon2 et mettre à jour la base de données en cas de succès. 3) Champ identifiant : Ajouter un champ de base de données pour identifier le type d'algorithme de hachage (bcrypt/argon2). 4) Migration complète : Après un certain temps (p.ex., 6 mois), la plupart des utilisateurs actifs ont migré, on peut forcer les utilisateurs restants à réinitialiser leurs mots de passe. Note : bcrypt et Argon2 ont des formats de hash différents, peuvent être automatiquement identifiés par préfixe ($2a$ vs $argon2id$).

Q: Argon2 ne sera-t-il pas trop lent dans les navigateurs ?

A: L'objectif de conception d'Argon2 est un calcul lent, ce qui est une garantie de sécurité, pas un défaut. En utilisant WebAssembly pour calculer Argon2 dans les navigateurs, un seul hash prend 0,5-1 seconde, ce qui a un impact minimal sur l'expérience utilisateur (les utilisateurs attendant 1 seconde après avoir saisi le mot de passe est acceptable). Suggestions d'optimisation : 1) Calcul asynchrone : Utiliser des Web Workers pour calculer en arrière-plan, éviter de bloquer l'UI. 2) Indicateur de progression : Afficher le message “Chiffrement...” pour améliorer l'expérience utilisateur. 3) Ajustement des paramètres : L'environnement du navigateur peut modérément réduire le coût mémoire (p.ex., 32MB), mais ne pas descendre en dessous de la recommandation minimale d'OWASP (47MB). Note : La vérification côté serveur nécessite également le même temps de calcul, ce qui est le mécanisme de sécurité central d'Argon2.

Use Cases

Recommandé : Stockage des mots de passe utilisateur

C'est le cas d'utilisation principal d'Argon2. Lorsque les utilisateurs s'inscrivent ou changent de mots de passe, utiliser Argon2id pour hacher les mots de passe et stocker dans la base de données. Lors de la connexion, extraire la chaîne hash stockée, hacher le mot de passe saisi par l'utilisateur avec les mêmes paramètres, puis comparer les résultats. Les caractéristiques intensives en mémoire d'Argon2 rendent les attaques par force brute extrêmement coûteuses, protégeant les mots de passe des utilisateurs même si la base de données est compromise.

Recommended Configuration:
  • ✅ Argon2id (recommandé par OWASP, préféré)
  • bcrypt (choix classique, facteur de coût ≥ 12)
  • PBKDF2-SHA256 (≥ 600k itérations)
  • ❌ Ne pas utiliser SHA-256, MD5 ou autres hashes à usage général
Recommandé : Hachage de clés API

Les clés API (comme les API Tokens, Access Keys) doivent généralement être stockées dans la base de données mais ne doivent pas être stockées en texte clair. Utiliser Argon2 pour hacher les clés API ; même si la base de données est compromise, les attaquants ne peuvent pas obtenir les clés originales. Pour la vérification, hacher la clé fournie par l'utilisateur et comparer. Note : Les clés API sont généralement des chaînes à haute entropie générées aléatoirement, peuvent modérément réduire les paramètres Argon2 (p.ex., t=1, m=32MB) pour améliorer les performances.

Recommended Configuration:
  • ✅ Argon2id (haute sécurité)
  • bcrypt (équilibrer performance et sécurité)
  • SHA-256 + sel (utilisable pour les clés à haute entropie)
  • 💡 Envisager d'utiliser l'indexation par préfixe de hash pour accélérer les requêtes
Recommandé : Portefeuilles de cryptomonnaies

Les portefeuilles de cryptomonnaies ont besoin de mots de passe pour protéger les clés privées. Utiliser Argon2d (dépendant des données) pour dériver la clé de chiffrement du mot de passe de l'utilisateur, puis utiliser cette clé pour chiffrer la clé privée. La résistance aux GPU d'Argon2d rend la force brute des mots de passe de portefeuille extrêmement coûteuse. Note : Les scénarios de portefeuille utilisent généralement Argon2d plutôt qu'Argon2id car le risque d'attaque par canal latéral est plus faible, tandis que la résistance aux GPU est plus importante.

Recommended Configuration:
  • ✅ Argon2d (résistant aux GPU, recommandé pour les portefeuilles)
  • ✅ Argon2id (sécurité plus complète)
  • scrypt (choix classique, utilisé par Bitcoin Core)
  • 💡 Combiner avec des portefeuilles matériels pour une sécurité plus élevée
Recommandé : Dérivation de clé de chiffrement de fichiers

Utiliser Argon2 pour dériver la clé de chiffrement de fichiers du mot de passe de l'utilisateur. Après que l'utilisateur fournit le mot de passe, Argon2 génère une clé de longueur fixe (p.ex., 256 bits), puis utiliser cette clé pour chiffrer le fichier (p.ex., en utilisant AES-256-GCM). Le sel et les paramètres Argon2 sont stockés dans l'en-tête du fichier ; lors du déchiffrement, les paramètres sont extraits et la clé est re-dérivée. Cette approche est largement utilisée dans les archives chiffrées (comme 7-Zip, WinRAR) et le chiffrement de disque (comme VeraCrypt).

Recommended Configuration:
  • ✅ Argon2id (recommandé)
  • ✅ Argon2i (résistant aux canaux latéraux)
  • scrypt (choix classique)
  • 💡 Stocker le sel et les paramètres dans l'en-tête du fichier
Recommandé : Codes de sauvegarde d'authentification à deux facteurs

Les codes de sauvegarde d'authentification à deux facteurs (2FA) doivent être hachés avant le stockage pour prévenir les abus si la base de données est compromise. Puisque les codes de sauvegarde sont des chaînes à haute entropie générées aléatoirement (typiquement 8-16 caractères), on peut utiliser des paramètres Argon2 plus bas (p.ex., t=1, m=32MB) pour améliorer les performances. Lors de la vérification, hacher le code de sauvegarde saisi par l'utilisateur et comparer ; invalider immédiatement le code de sauvegarde après une vérification réussie.

Recommended Configuration:
  • ✅ Argon2id (recommandé)
  • bcrypt (meilleures performances)
  • SHA-256 + sel (utilisable pour les codes de sauvegarde à haute entropie)
  • 💡 Invalider le code de sauvegarde immédiatement après utilisation
Non recommandé : Scénarios sensibles aux performances en temps réel

Les caractéristiques lentes d'Argon2 le rendent inadapté aux scénarios nécessitant des performances extrêmement élevées, comme l'authentification API à haute fréquence, la connexion aux jeux en temps réel, l'authentification des appareils IoT, etc. Ces scénarios doivent utiliser l'authentification basée sur des tokens (comme JWT, OAuth) ou la gestion de sessions, plutôt que le hachage de mots de passe pour chaque requête. Argon2 n'est utilisé qu'une seule fois lors de la connexion de l'utilisateur ; après une vérification réussie, un token est émis, les requêtes suivantes utilisent l'authentification par token.

Recommended Configuration:
  • ✅ JWT + HMAC-SHA256 (haute performance)
  • ✅ Session + Cookie (approche traditionnelle)
  • ✅ OAuth 2.0 (protocole standard)
  • ❌ Ne pas utiliser Argon2 dans les scénarios à haute fréquence

Recommandations de meilleures pratiques

  • Argon2id est le meilleur choix pour le stockage des mots de passe, recommandé pour tous les nouveaux projets. Les projets existants doivent migrer progressivement de bcrypt/PBKDF2 vers Argon2.
  • La configuration des paramètres suit les recommandations OWASP : m ≥ 47MB, t ≥ 1, p = 1. Si les performances du serveur sont bonnes, le coût mémoire peut être augmenté à 64MB ou plus.
  • Ne pas utiliser Argon2 dans les scénarios à haute fréquence ; doit être combiné avec l'authentification par token (JWT, Session) pour de hautes performances.
  • Lors de la migration depuis bcrypt, utiliser une approche progressive : conserver la vérification bcrypt, utiliser Argon2 pour les nouveaux utilisateurs et les changements de mot de passe, mettre à niveau de manière transparente lors de la connexion.
  • L'environnement du navigateur utilise WebAssembly pour calculer Argon2, combiner avec des Web Workers et des indicateurs de progression pour améliorer l'expérience utilisateur.

Discussion et commentaires

0 commentaires
Moi