Hash & Crypto Helpers

Hachage de mot de passeDes paramètres lisibles, un test reproductible

Utilisez un mot de passe de test pour générer un enregistrement ou vérifier une valeur existante.

Hachage de mot de passe

Mot de passe de test

Enregistrement du hachage

Données de test uniquement. Les mots de passe restent en mémoire dans la page et le Worker, sans envoi ni stockage dans le navigateur.

Options

Valeur de test : coût 10 ; plage 4–14. Le travail croît selon 2^cost. Ce n’est pas un réglage conseillé pour la production.

Aléatoire : 16 nouveaux octets. Fixe : bcrypt 16 octets, autres 8–64. Hex sans espaces ni préfixe 0x.

bcrypt et Argon2id utilisent une chaîne encodée. scrypt/PBKDF2 utilisent un JSON HeyUtils, pas un format universel de framework.

Saisissez un mot de passe de test et lancez l’opération.

Un changement de bibliothèque peut faire échouer un compte de test sans que le mot de passe visible ait changé. Le Hachage de mot de passe permet de comparer les octets, le sel et les paramètres réellement utilisés avant de conclure à un problème d’algorithme.

La vérification lit ses paramètres dans l’enregistrement fourni. Les réglages du mode génération ne remplacent jamais ceux du hachage à vérifier. Commencez par un cas connu, puis changez une seule condition pour isoler la différence.

Pourquoi utiliser le Hachage de mot de passe ?

Observer le rôle du sel

Le Hachage de mot de passe crée un nouveau sel de 16 octets à chaque exécution en mode aléatoire. Deux résultats différents peuvent donc correspondre au même mot de passe. Un sel fixe en hexadécimal permet ensuite de reproduire le calcul avec une autre bibliothèque.

Un même mot de passe masqué passe par deux sels différents et produit deux enregistrements distincts.

Distinguer échec de comparaison et format invalide

Une différence signifie que le calcul a été effectué avec les paramètres enregistrés. Un format non reconnu ou un coût excessif est refusé avant ce calcul. Ces deux résultats demandent des corrections différentes : examiner le candidat ou préparer un enregistrement compatible.

Deux candidats sont comparés au même enregistrement ; une coche verte et une croix rouge indiquent les résultats.

Préparer une comparaison que l’on peut répéter

01

Partir de l’exemple qui correspond

Charger l’exemple ouvre un aperçu de remplacement. Après application, le mode vérification contient un mot de passe fictif et son enregistrement bcrypt. Modifiez un caractère pour vérifier aussi le cas négatif.

  • L’annulation du remplacement restaure ensemble la saisie, les options et le résultat.
02

Choisir le comportement du sel

En génération, le mode aléatoire renouvelle le sel à chaque calcul. Le mode fixe attend des octets hexadécimaux, pas un mot ordinaire. bcrypt exige 16 octets, les autres algorithmes en acceptent de 8 à 64.

  • Le sel réellement utilisé est affiché avec le résultat et peut servir à reproduire un essai.
03

Exporter seulement un résultat actuel

Ctrl/Cmd + Entrée lance le mode sélectionné. Toute modification interrompt le calcul et rend l’ancien résultat périmé. La copie et le téléchargement sont disponibles après une génération réussie ou une vérification positive.

  • Le bouton d’arrêt termine le Worker ; au-delà de 15 secondes, le calcul est interrompu automatiquement.

Le sel et les réglages accompagnent le résultat

Quatre moteurs de calcul réels

La variante Argon2 proposée est Argon2id. Le générateur bcrypt propose aussi scrypt, Argon2id et PBKDF2-HMAC-SHA-256. Chaque exécution traite un algorithme. Il s’agit de préparer un test ciblé, pas de lancer les quatre en parallèle ni de les classer selon une vitesse présentée comme un niveau de sécurité.

Des enregistrements complets

bcrypt inclut son facteur de coût et son sel. Argon2id produit une chaîne PHC en version 19. scrypt et PBKDF2 utilisent un JSON HeyUtils versionné avec parameters, saltHex et hashHex : les données nécessaires à la vérification restent à côté de la valeur dérivée.

Un coût contrôlé avant le lancement

Les paramètres importés sont soumis aux mêmes limites que les paramètres saisis. Le temps en millisecondes mesure cette exécution sur cet appareil et peut inclure le chargement initial du moteur. Il ne mesure ni la capacité d’un serveur ni la latence sous de nombreuses connexions simultanées.

Formats admis et limites de calcul

Aucune correction implicite du mot de passe
La saisie doit être non vide, sur une ligne, avec au plus 1024 octets UTF-8. Espaces et différences de normalisation Unicode comptent. bcrypt refuse plus de 72 octets au lieu de tronquer. Unicode invalide et retours à la ligne sont rejetés.
Le coût d’un enregistrement reste borné
bcrypt : 4–14. scrypt : ln=10–16, r=8 et p=1. Argon2id : m=8–65536 KiB, t=1–6, p=1–4, avec m≥8p et m×t≤131072. PBKDF2 : 1–1000000 itérations. Ces limites servent à contenir les ressources du navigateur.
Pas de format universel pour les frameworks
La vérification accepte bcrypt $2a$, $2b$, $2y$, Argon2id v19 avec paramètres m,t,p dans cet ordre, et notre JSON scrypt/PBKDF2. Maximum : 8192 caractères. Argon2i/d, v16, pepper, données associées et autres dialectes ne sont pas pris en charge.
Des tailles de sel et de résultat explicites
Un sel aléatoire fait 16 octets. Un sel fixe utilise de l’hexadécimal sans espaces ni préfixe : 16 octets pour bcrypt, 8–64 sinon. Hors bcrypt, la génération dérive 32 octets et la vérification accepte 16–64 octets. Le Base64 PHC doit être canonique, sans remplissage.
Des essais, pas une politique de production
Les valeurs initiales ne sont pas des recommandations de sécurité. Pas de déchiffrement, dictionnaire, import de fichiers, lots ou note de robustesse. Une copie temporaire du mot de passe précédent reste disponible pour annuler le remplacement jusqu’à la prochaine modification, exécution ou sortie de page.

Questions sur le Hachage de mot de passe

Faut-il utiliser bcrypt pour stocker ses mots de passe ?

bcrypt est pris en charge pour reproduire une intégration qui l’utilise. Cet outil ne décide pas de la politique de stockage d’un service. Pour une application réelle, choisissez la bibliothèque et la configuration adaptées à son environnement, puis mesurez le coût sous charge. Ici, le coût 10 est simplement la valeur de départ d’un test.

Pourquoi faut-il hasher les mots de passe ?

Le hachage permet de vérifier un candidat sans utiliser un mécanisme réversible de chiffrement du mot de passe. La comparaison refait le calcul avec le sel et les paramètres enregistrés. Cela ne prouve toutefois ni la force du mot de passe ni l’absence de fuite : la gestion complète de l’authentification relève de l’application.

Comment utiliser bcrypt en PHP ?

Dans PHP, les fonctions password_hash et password_verify servent à créer et à vérifier les formats qu’elles prennent en charge. Un enregistrement bcrypt compatible peut être testé ici dans les limites indiquées. Le JSON scrypt/PBKDF2 de cette page n’est pas un format directement accepté par ces fonctions ; ne le copiez pas comme tel dans un champ de production.

Que contrôle le facteur de coût bcrypt ?

Le facteur de coût règle le travail de bcrypt, qui croît selon 2^cost. Monter le facteur augmente aussi le temps de calcul. La plage 4–14 limite les essais dans le navigateur ; elle ne fournit pas un niveau conseillé pour votre serveur. Mesurez séparément la latence et les connexions simultanées attendues.

Pourquoi chaque hachage bcrypt du même mot de passe est-il différent ?

Un nouveau sel aléatoire est créé à chaque exécution. Il change le hachage, tout en permettant à chaque enregistrement de vérifier le même candidat grâce à son propre sel. Pour obtenir exactement le même résultat, conservez les mêmes octets de mot de passe, un sel fixe, le même algorithme et les mêmes paramètres.

Une autre question ?

Essayer le Hachage de mot de passe

Dans le Hachage de mot de passe, vérifiez l’exemple puis changez un caractère pour comparer les deux réponses.

Une correspondance ne constitue pas une note de robustesse.