Générateur de Hash Cryptographique

Générez des empreintes MD5, SHA-1, SHA-256, SHA-512 et Bcrypt instantanément.

Texte à hasher

Algorithmes de hachage

Bcrypt (pour mots de passe)

Bcrypt est spécialement conçu pour le hachage sécurisé des mots de passe avec un facteur de coût ajustable.

Vérifier un hash Bcrypt

Guide complet des fonctions de hachage

Comprendre le hachage cryptographique

En tant que développeur travaillant sur des systèmes d'authentification, je manipule des fonctions de hachage quotidiennement. Un hash est une empreinte numérique de taille fixe générée à partir de données de taille arbitraire. Les propriétés essentielles sont : déterminisme (même entrée = même sortie), irréversibilité (impossible de retrouver l'entrée), effet avalanche (un changement minime modifie complètement le hash), et résistance aux collisions (difficile de trouver deux entrées produisant le même hash).

Choisir le bon algorithme

MD5 (128 bits)

Rapide mais cryptographiquement cassé. Utilisable uniquement pour les checksums non-sécuritaires. Jamais pour les mots de passe ou signatures.

SHA-1 (160 bits)

Déprécié depuis 2017 (collisions démontrées). Encore présent dans certains systèmes legacy mais à éviter pour tout nouveau développement.

SHA-256 (256 bits)

Standard actuel recommandé. Utilisé par Bitcoin, TLS, et la majorité des applications modernes. Excellent compromis sécurité/performance.

Bcrypt

Spécifiquement conçu pour les mots de passe. Lent par design avec coût ajustable. Inclut automatiquement un sel unique.

Cas d'utilisation pratiques

  • Vérification d'intégrité : Comparer le hash d'un fichier téléchargé avec celui fourni par l'éditeur détecte toute corruption ou modification
  • Stockage de mots de passe : Jamais en clair ! Utilisez Bcrypt ou Argon2 avec sel pour protéger les credentials même en cas de fuite de base de données
  • Signatures numériques : Le hash d'un document est signé plutôt que le document entier pour des raisons de performance
  • Déduplication : Identifier les fichiers identiques par leur hash évite les doublons de stockage
  • Tokens de validation : Hash d'email + timestamp pour les liens de confirmation sécurisés

Erreurs courantes à éviter

  • Utiliser MD5 ou SHA-1 pour la sécurité : ils sont cryptographiquement cassés
  • Hasher les mots de passe sans sel : vulnérable aux rainbow tables
  • Utiliser SHA-256 brut pour les mots de passe : trop rapide, vulnérable à la force brute GPU
  • Stocker le sel séparément du hash : inutile et complique le code, Bcrypt gère cela automatiquement
  • Croire qu'un hash est un chiffrement : c'est irréversible par conception

Questions fréquentes

Pourquoi ne peut-on pas "décrypter" un hash ?

Le hachage n'est pas un chiffrement. Le chiffrement est réversible avec une clé ; le hachage est une fonction à sens unique par conception mathématique. L'information est délibérément perdue : un hash de 256 bits peut représenter une infinité d'entrées possibles. C'est comme réduire un livre en quelques phrases : on ne peut pas reconstruire le livre original. On peut seulement vérifier si une entrée donnée produit le même hash.

Qu'est-ce qu'une collision de hash ?

Une collision se produit quand deux entrées différentes produisent le même hash. Théoriquement inévitable (pigeonhole principle), mais un bon algorithme rend la recherche de collisions computationnellement impossible. MD5 et SHA-1 ont des attaques pratiques de collision publiées, c'est pourquoi ils sont déconseillés pour la sécurité. SHA-256 n'a aucune collision connue et résistera probablement des décennies.

Pourquoi Bcrypt pour les mots de passe plutôt que SHA-256 ?

SHA-256 est conçu pour être rapide : un GPU moderne peut calculer des milliards de hash par seconde. Un attaquant peut tester d'énormes dictionnaires en minutes. Bcrypt est délibérément lent avec un facteur de coût ajustable. Avec un coût de 12, il faut ~250ms par hash. Cela ralentit drastiquement les attaques par force brute tout en restant acceptable pour une authentification normale. Bcrypt inclut également un sel automatique.

Qu'est-ce qu'un sel (salt) dans le hachage ?

Un sel est une valeur aléatoire unique ajoutée à chaque mot de passe avant hachage. Sans sel, le même mot de passe produit toujours le même hash, permettant les attaques par rainbow table (dictionnaires de hash précalculés). Avec un sel unique par utilisateur, même deux utilisateurs avec le même mot de passe ont des hash différents. Bcrypt génère et stocke automatiquement un sel dans le hash résultant.

Comment vérifier l'intégrité d'un fichier avec un hash ?

Quand vous téléchargez un fichier, l'éditeur fournit souvent son hash SHA-256 (ou MD5/SHA-1 pour les anciens). Calculez le hash du fichier téléchargé et comparez-le. S'ils correspondent, le fichier est intègre et non modifié. Si différent, le fichier est corrompu ou a été altéré (potentiellement malicieusement). Sur Linux : sha256sum fichier.iso. Sur Windows : certutil -hashfile fichier.iso SHA256.

Quel facteur de coût Bcrypt choisir ?

Le coût idéal dépend de votre serveur. L'objectif : que le hachage prenne environ 100-500ms. Trop rapide facilite les attaques, trop lent dégrade l'expérience utilisateur. En 2024, un coût de 10-12 est généralement recommandé. Testez sur votre infrastructure : si le login prend moins de 50ms, augmentez le coût. Revoyez ce paramètre annuellement car le matériel s'améliore. Chaque incrément double le temps de calcul.