bcrypt Générateur de Hachage
Outil en ligne gratuit bcrypt Générateur de Hachage. Traitement 100% local — vos données ne quittent jamais votre appareil.
Le résultat sera affiché ici...
Entrée → Calculer le hachage
Usage Guide
À propos de bcrypt
bcrypt est une fonction de hachage de mots de passe conçue par Niels Provos et David Mazières en 1999, basée sur le chiffrement Blowfish. Elle a été spécifiquement construite pour être lente et coûteuse en calcul, rendant les attaques par force brute impraticables. bcrypt est l'un des algorithmes de hachage de mots de passe les plus largement déployés dans le monde, supporté nativement par des frameworks comme Rails, Django, Laravel et Node.js (bcryptjs). Chaque hash bcrypt intègre un sel aléatoire et le facteur de coût, de sorte que le hash est entièrement autonome pour la vérification.
Étapes d'utilisation
Cet outil supporte deux opérations : hacher un mot de passe (Chiffrer) et vérifier un mot de passe contre un hash (Déchiffrer) :
Caractéristiques de l'Algorithme
bcrypt possède plusieurs propriétés qui le rendent bien adapté au stockage des mots de passe :
Guide du Facteur de Coût
Choisir le bon facteur de coût équilibre la sécurité et les performances du serveur :
FAQ
Q: Quel est le format de sortie de bcrypt ?
A: Un hash bcrypt fait toujours exactement 60 caractères et ressemble à : $2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/lewdBdXyXu2zXpOme.
Décomposition :$2b$ : Identifiant de version bcrypt.12$ : Le facteur de coût.
22 caractères suivants : Sel aléatoire de 128 bits encodé en Base64.
31 derniers caractères : Hash dérivé de 184 bits encodé en Base64.
Propriété clé : Tous les paramètres sont incorporés dans la chaîne — aucun stockage supplémentaire n'est nécessaire pour vérifier un mot de passe ultérieurement.
Q: Comment bcrypt se compare-t-il à Argon2 ?
A: bcrypt (1999) : difficile en calcul, ~4 Ko mémoire, résistance GPU modérée, support universel. Argon2 (2015) : difficile en mémoire (configurable, 64 Mo par défaut), résistance ASIC/GPU beaucoup plus forte, préféré par OWASP et NIST. Quand utiliser bcrypt : Maintenance d'un système existant ou quand Argon2 n'est pas encore disponible. Quand utiliser Argon2 : Tous les nouveaux projets.
Q: Pourquoi bcrypt ne peut-il pas être utilisé pour hacher des fichiers ou de grandes données ?
A: bcrypt a une limite d'entrée de 72 octets. Les caractères au-delà du 72e octet sont silencieusement ignorés. Pour l'intégrité des fichiers, utilisez SHA-256 ou SHA-512. bcrypt est conçu spécifiquement pour les mots de passe courts saisis manuellement uniquement.
Q: bcrypt est-il sûr si ma base de données est compromise ?
A: Oui — un hash bcrypt est unidirectionnel. Avec cost=12, un seul cœur CPU peut tenter environ 2–5 hashes par seconde, rendant les attaques exhaustives contre des mots de passe forts effectivement infaisables. Cependant, bcrypt ne protège pas les mots de passe faibles — appliquez toujours une politique de force minimale de mot de passe.
Q: Quel facteur de coût dois-je utiliser en production ?
A: Recommandation OWASP 2023 : cost=12 comme référence. Faites des benchmarks sur votre serveur de production et choisissez le facteur de coût le plus élevé qui maintient le hachage sous 500 ms. Ne descendez jamais en dessous de cost=10. Réévaluez tous les 2–3 ans à mesure que le matériel s'améliore.
Q: bcrypt peut-il être utilisé pour le stockage de clés API ou de tokens ?
A: Oui, avec des mises en garde. bcrypt convient pour hacher les clés API et tokens de moins de 72 octets et vérifiés rarement. Pour la vérification haute fréquence, utilisez plutôt une approche rapide SHA-256 + sel.
Use Cases
Recommandé : Stockage de Mots de Passe Utilisateur
C'est le cas d'usage principal de bcrypt. Hachez avec bcrypt (cost ≥ 12) et stockez la chaîne de 60 caractères. Lors de la connexion, exécutez la vérification bcrypt. bcrypt est supporté nativement dans Rails (has_secure_password), Django, Laravel et Node.js (bcryptjs).
Recommandé : Compatibilité avec les Systèmes Hérités
Pour les systèmes stockant des millions de hashes bcrypt, continuez d'utiliser bcrypt et augmentez le facteur de coût à mesure que le matériel s'améliore. Les nouveaux utilisateurs peuvent passer de manière transparente à Argon2id tandis que les hashes bcrypt (identifiés par le préfixe $2b$) continuent de se vérifier correctement.
- ✅ Conserver bcrypt pour les hashes existants — aucune migration forcée requise
- ✅ Introduire progressivement Argon2id pour les nouveaux mots de passe et mis à jour
- ✅ Utiliser la détection de préfixe de hash ($2b$ vs $argon2id$) pour router la vérification
- 💡 Journaliser l'algorithme utilisé par utilisateur pour suivre la progression de la migration
Acceptable : Hachage de Clés API
bcrypt peut hacher les clés API avant le stockage en base de données. Pour la vérification par requête à grande échelle, préférez un schéma HMAC-SHA256 rapide ou un hash SHA-256 de la clé.
- ✅ bcrypt (cost=10–12, bon pour la vérification à basse fréquence)
- ✅ SHA-256 + sel (plus rapide, adapté aux clés à haute entropie)
- ✅ HMAC-SHA256 (pour la signature de tokens par requête)
- 💡 Utiliser un préfixe de hash (8 premiers caractères) comme index de base de données pour une recherche rapide
Non Recommandé : Chiffrement de Fichiers ou de Données
bcrypt est une fonction de hachage unidirectionnelle, pas un algorithme de chiffrement. Il ne peut pas chiffrer des fichiers. De plus, la limite d'entrée de 72 octets de bcrypt le rend inadapté au hachage de contenus de fichiers. Pour le chiffrement de fichiers, utilisez un chiffrement symétrique (ex., AES-256-GCM).
- ❌ Ne pas utiliser bcrypt pour le chiffrement de fichiers (non réversible)
- ❌ Ne pas hacher des données de plus de 72 octets avec bcrypt
- ✅ Utiliser AES-256-GCM pour le chiffrement symétrique de fichiers
- ✅ Utiliser Argon2id ou scrypt pour la dérivation de clés basée sur mot de passe
Non Recommandé : Hachage Général de Données
bcrypt est trop lent pour les vérifications d'intégrité de données à usage général. Utilisez SHA-256 ou SHA-512 pour la vérification d'intégrité.
- ❌ Ne pas utiliser bcrypt pour les vérifications d'intégrité de données ou le hachage de contenu
- ✅ SHA-256 (hachage d'intégrité à usage général)
- ✅ BLAKE2b (hachage cryptographique haute vitesse)
- ✅ SHA-3 / SHA-512 (marge de sécurité plus élevée)
Non Recommandé : Authentification Haute Fréquence
bcrypt est conçu pour être lent (~200–500 ms à cost=12). L'exécuter sur chaque requête API mettrait votre serveur à genoux. Utilisez bcrypt une seule fois à la connexion — puis émettez un JWT signé pour les requêtes suivantes.
- ❌ Ne pas exécuter bcrypt sur chaque requête API
- ✅ JWT + HMAC-SHA256 (auth stateless, rapide par requête)
- ✅ Session + Cookie (gestion de session traditionnelle côté serveur)
- ✅ OAuth 2.0 / OpenID Connect (identité fédérée, basée sur les tokens)
Résumé des Bonnes Pratiques
- Utiliser bcrypt (cost ≥ 12) pour le stockage des mots de passe utilisateur dans les systèmes existants. Pour les nouveaux projets, préférer Argon2id.
- Ne jamais utiliser bcrypt pour le hachage général de données, le chiffrement de fichiers ou des données de plus de 72 octets.
- Faire des benchmarks sur le matériel de production et viser 200–500 ms par hash. Incrémenter le facteur de coût tous les 2–3 ans.
- Pour les scénarios d'auth haute fréquence, utiliser bcrypt uniquement à la connexion, puis émettre des JWT ou des tokens de session.
- Migration progressive de bcrypt vers Argon2id : conserver bcrypt pour les hashes existants, utiliser Argon2id pour les nouveaux mots de passe.