« MD5, SHA-1, SHA-256, SHA-512… quelle est la vraie différence ? Lequel est le plus sûr ? Le plus rapide ? Lequel utiliser ? » — submergé par les choix d'algorithmes.
Ce tableau comparatif met en parallèle cinq algorithmes de hachage majeurs selon la longueur de sortie, le niveau de sécurité, la vitesse et les cas d'usage — toutes les différences en un coup d'œil.
01 Paramètres clés de cinq algorithmes de hachage majeurs
Le tableau ci-dessous compare les paramètres clés de cinq algorithmes de hachage courants : MD5, SHA-1, SHA-256, SHA-384 et SHA-512. Lors du choix d'un algorithme, la sécurité est le critère principal — pour les usages liés à la sécurité, utilisez SHA-256 ou supérieur.
Tableau comparatif des paramètres clés des algorithmes de hachage
| Algorithme | Longueur de sortie | Caractères hexadécimaux | Niveau de sécurité | Statut |
|---|---|---|---|---|
| MD5 | 128 bits | 32 | ❌ Non sécurisé | Cassé |
| SHA-1 | 160 bits | 40 | ⚠️ Obsolète | Collisions connues |
| SHA-256 | 256 bits | 64 | ✅ Sécurisé | Recommandé |
| SHA-384 | 384 bits | 96 | ✅ Haute sécurité | Recommandé |
| SHA-512 | 512 bits | 128 | ✅ Sécurité maximale | Recommandé |
02 Cas d'usage détaillés pour chaque algorithme
MD5 (128 bits) : bien que cassé pour la sécurité, sa sortie courte et sa rapidité le rendent utile pour des usages non sécuritaires — déduplication de fichiers, génération de clés de cache, clés de partitionnement de base de données. Ne jamais l'utiliser pour le hachage de mots de passe ni les signatures numériques.
SHA-1 (160 bits) : Google a publiquement démontré une attaque de collision SHA-1 en 2017. Git utilise encore SHA-1 en interne (migration vers SHA-256 en cours), mais les nouveaux projets ne devraient pas choisir SHA-1.
SHA-256 (256 bits) : le standard actuel. Utilisé par la blockchain Bitcoin, les certificats TLS/SSL, la signature de code et les jetons API. Le choix par défaut pour le hachage polyvalent.
SHA-384 (384 bits) : version tronquée de SHA-512, utilisée comme alternative dans TLS 1.2+. Sécurité supérieure à SHA-256, mais usage relativement niche.
SHA-512 (512 bits) : niveau de sécurité le plus élevé. Sur les systèmes 64 bits, il peut être plus rapide que SHA-256. Idéal pour les exigences de haute sécurité comme les systèmes gouvernementaux et financiers.
03 Considérations de vitesse et de performance
Dans Suried Hash Generator, tous les algorithmes sont calculés localement via l'API Web Crypto avec d'excellentes performances. Pour les petits textes (< 1 Ko), tous les algorithmes calculent en moins d'une milliseconde, sans différence notable.
Pour les gros fichiers (> 100 Mo), SHA-512 peut surpasser SHA-256 sur les systèmes 64 bits car SHA-512 traite des blocs de 64 octets (contre 32 pour SHA-256). Si vous traitez de nombreux gros fichiers sur un système 64 bits, SHA-512 offre à la fois de meilleures performances et une sécurité accrue.
Bien que MD5 soit théoriquement le plus rapide, en raison de ses problèmes de sécurité, nous recommandons SHA-256 par défaut — bien plus sûr que MD5, avec des différences de vitesse imperceptibles en usage réel.
Pour le hachage de mots de passe (ex. : connexion utilisateur), vous ne voulez justement pas un algorithme rapide ! Les fonctions spécialisées comme bcrypt et scrypt sont délibérément lentes pour augmenter le coût des attaques par force brute.
FAQ
Lequel est le meilleur : SHA-256 ou SHA-512 ?
SHA-512 offre une sécurité supérieure et est plus rapide sur les systèmes 64 bits, mais SHA-256 suffit pour la grande majorité des cas d'usage. Sans exigences de sécurité particulières, SHA-256 est le meilleur choix par défaut.
À quoi sert SHA-384 ? Pourquoi est-il moins courant ?
SHA-384 est une version tronquée de SHA-512, principalement utilisée comme alternative dans les protocoles de handshake TLS. Au quotidien, SHA-256 est suffisamment sûr, et la sortie complète de SHA-512 offre une sécurité supérieure, ce qui limite les cas d'usage de SHA-384.
Pourquoi Git utilise-t-il encore SHA-1 ?
Git utilise SHA-1 depuis sa création en 2005, et la migration vers SHA-256 implique des modifications d'infrastructure majeures. Git 2.29+ a commencé le support expérimental des identifiants d'objets SHA-256. En raison de la compatibilité ascendante, la migration complète prendra du temps.
Un hachage plus long est-il toujours plus sûr ?
En général oui — une sortie plus longue signifie un espace de recherche plus grand et une probabilité de collision plus faible. Mais la sécurité dépend aussi de la conception de l'algorithme. SHA-256 (256 bits) est bien plus sûr que MD5 (128 bits), non seulement parce qu'il est plus long, mais aussi parce que sa conception est supérieure.
Un même fichier produit-il le même hachage sur différents systèmes d'exploitation ?
Tant que le contenu des fichiers est identique octet par octet, le hachage sera le même sur n'importe quel OS et outil. Mais attention aux différences de fin de ligne des fichiers texte — Windows utilise CRLF (\r\n), Linux/Mac utilise LF (\n), ce qui produit des hachages différents pour les fichiers texte.
Try the Tool Now
Ce tableau comparatif met en parallèle cinq algorithmes de hachage majeurs selon la longueur de sortie, le niveau de sécurité, la vitesse et les cas d'usage — toutes les différences en un coup d'œil.