Générateur Bcrypt

Générateur Bcrypt

Générateur de hash bcrypt gratuit — 100% côté client. Benchmark du facteur coût en temps réel, parser du hash et snippets pour Node.js, Python, PHP, Go.

Mis à jour juin 2026

Vérifié par Rafael Duarte

Aucune activité réseau — 100% dans le navigateur
SÉCURISÉ CÔTÉ CLIENT
12
4 — tests uniquement Par défaut 12 (OWASP). Plus élevé = plus sécurisé mais plus lent. 18 — très lent

Benchmark local

Temps de traitement sur votre matériel actuel

Cost 8
—
Cost 10
—
Cost 12
—
Cost 14
—

Extraits d'implémentation

const bcrypt = require('bcryptjs');
const SALT_ROUNDS = 12; // OWASP recommended

async function hashPassword(plaintext) {
  return await bcrypt.hash(plaintext, SALT_ROUNDS);
}

async function verifyPassword(plaintext, hash) {
  return await bcrypt.compare(plaintext, hash);
}

const hash = await hashPassword('user_password');
// '$2b$12$...' (60 chars, always different due to random salt)

const isValid = await verifyPassword('user_password', hash);
// true

Comment fonctionne le générateur bcrypt

Générer prend moins de cinq secondes

1. Collez le mot de passe

Le badge « CLIENT-SIDE SECURE » confirme qu'aucune requête réseau ne sera effectuée.

2. Ajustez le cost factor

Curseur de 4 à 18 — le cost 12 est la valeur par défaut recommandée par l'OWASP.

3. Générez et copiez

Le hash apparaît avec le temps exact sur votre matériel ; copiez-le en un clic.

Ce que fait cet outil

Au-delà de la génération du hash

Vérifie un hash existant

L'onglet Verify Hash compare un mot de passe et un hash et affiche une coche verte ou un X rouge en quelques millisecondes.

Benchmark du cost factor

Mesure le temps réel de hachage sur votre matériel pour chaque valeur de cost.

Décompose un hash existant

Collez n'importe quel hash bcrypt pour voir version, cost, salt et checksum séparés.

Snippets de code prêts à l'emploi

Génère le code équivalent pour Node.js, Python, PHP, Go et plus.

100 % côté client avec bcryptjs

Aucun mot de passe ne quitte le navigateur — vérifiez dans l'onglet Network des DevTools.

Génère un script de benchmark pour le serveur

Copiez un script prêt à l'emploi (Node.js, Python, PHP, Ruby ou Go) qui teste les cost 10 à 16 sur votre propre machine de production — pas une estimation du navigateur.

Exemples

Entrée
Hash bcrypt (cost 12)
monmotdepassesecret
$2b$12$nOUIs5kJ7naTuTFkBy1veuK0kSxUFXfuaOKdOKf9xYT0KKIGSJwFa
monmotdepassesecret (généré à nouveau)
$2b$12$aBcDeFgHiJkLmNoPqRsTuv... — salt différent, les deux valides
72 vs. 100 caractères 'a'
produisent des hashs équivalents — les octets après 72 sont ignorés
mauvais mot de passe vs. hash ci-dessus (onglet Verify)
false — X rouge, sans révéler quel caractère diverge

Quand vous allez utiliser ça

Les scénarios les plus courants chez les utilisateurs de l'outil

Authentification

Hachez le mot de passe avant de le stocker ; bcrypt.compare() confirme la correspondance en temps constant à la connexion.

Migrer depuis un algorithme faible

Réhachez progressivement les mots de passe MD5/SHA-1 vers bcrypt à la prochaine connexion réussie.

Calibrer le cost factor

Lancez le benchmark sur le matériel de production pour trouver le cost le plus élevé sous votre seuil d'UX.

Audit de sécurité

Collez un hash existant pour vérifier version, cost et longueurs de salt/checksum.

Avant de passer en production, vérifiez ceci

Cost 4–8 en production

Se terminent en moins de 1 ms — aucune résistance réelle à la force brute. Utilisez cost 10 comme minimum, 12 comme défaut.

Hacher un hash déjà haché

Produit une chaîne qui ne pourra jamais être vérifiée. Hachez toujours uniquement le texte original en clair.

Limite de 72 octets

Bcrypt tronque silencieusement l'entrée — les mots de passe plus longs nécessitent un pré-hachage avec SHA-256 ou de passer à Argon2id.

Stocker le salt séparément

Inutile — bcrypt intègre déjà le salt dans les 60 caractères du hash.

Mots de passe avec accents ou emoji proches de la limite

Bcrypt compte des octets, pas des caractères — un emoji peut occuper 4 octets. Un mot de passe de 60 caractères accentués peut dépasser les 72 octets plus tôt que prévu et être tronqué silencieusement.

Comparer le hash avec === au lieu de compare()

La comparaison directe de chaînes fuit une attaque temporelle, car elle s'arrête au premier octet différent. Utilisez toujours bcrypt.compare(), password_verify() ou équivalent, qui s'exécute en temps constant.

Pourquoi générer ici

Tout le hachage s'exécute dans le navigateur avec bcryptjs, une implémentation JavaScript pure — ouvrez les DevTools et vérifiez que l'onglet Network reste vide.

Le benchmark mesure le temps réel sur votre matériel, pas une estimation générique — et les snippets de code pour huit langages évitent d'écrire l'appel de bibliothèque à la main.

À la différence d'une calculatrice de hash générique, cet outil décompose le hash généré (version, cost, salt, checksum) et génère même le script de benchmark à exécuter sur votre propre serveur de production — le matériel qui authentifiera réellement vos utilisateurs.

Bcrypt vs. Argon2id

Les deux résolvent le hachage de mot de passe ; choisissez selon le projet

Bcrypt
Argon2id
Recommandation OWASP actuelle
alternative solide
premier choix
Résistant GPU/ASIC (memory-hard)
non
oui
Limite de longueur de mot de passe
72 octets
sans limite
Support large dans les langages
oui
croissant
Cost factor ajustable
oui
oui (mémoire + temps)

Questions fréquentes

L'OWASP recommande le cost 12 comme point de départ, visant environ 250 ms par hash sur du matériel moderne. Utilisez le benchmark de cette page pour mesurer votre serveur et choisir le cost le plus élevé sous votre seuil d'UX (300 ms–1 s).

Références

Article associé

Salt, pepper, bcrypt e Argon2id: como proteger senhas de verdade

Outils connexes