SHA-1 vs SHA-256 vs SHA-512 : Choisir le Bon Algorithme de Hachage

16 Jun 2026 698 words

SHA-1 vs SHA-256 vs SHA-512

SHA-1, SHA-256 et SHA-512 sont tous membres de la famille Secure Hash Algorithm, mais ils diffèrent considérablement en termes de sécurité, de taille de sortie et de performances. Choisir le bon dépend de vos exigences de sécurité, de vos contraintes de performance et de vos besoins de compatibilité.

Comparaison Rapide

Caractéristique SHA-1 SHA-256 SHA-512
Taille de sortie 160 bits (20 octets) 256 bits (32 octets) 512 bits (64 octets)
Niveau de sécurité 80 bits (cassé) 128 bits (sûr) 256 bits (sûr)
Rounds 80 64 80
Taille de mot 32 bits 32 bits 64 bits
Taille de bloc 512 bits 512 bits 1024 bits
Statut Déprécié Recommandé Recommandé

Analyse de Sécurité

SHA-1 produit un haché de 160 bits, lui donnant une résistance aux collisions de 2^80 opérations par le paradoxe des anniversaires. En 2017, Google a démontré l'attaque SHAttered, produisant la première collision pratique SHA-1 en utilisant environ 2^63 opérations. Cela a prouvé que SHA-1 n'offre plus une sécurité adéquate pour tout usage où la résistance aux collisions importe.

SHA-256 offre une résistance aux collisions de 128 bits. En 2026, aucune attaque pratique ne réduit la sécurité de SHA-256 en dessous de sa force de conception. Il est approuvé par le NIST pour une utilisation dans les applications gouvernementales américaines et est le standard pour les certificats SSL/TLS, la blockchain et les signatures numériques.

SHA-512 offre une résistance aux collisions de 256 bits. Il est encore plus fort que SHA-256 mais offre plus de sécurité que la plupart des applications n'en ont besoin. La force supplémentaire a un coût de performance sur les systèmes 32 bits, mais sur les systèmes 64 bits, SHA-512 peut en fait être plus rapide que SHA-256.

Où SHA-1 Est Encore Présent

Malgré sa dépréciation, SHA-1 apparaît encore dans les systèmes hérités :

  • Git utilise SHA-1 pour les hachés de commit (bien que Git ait ajouté le support SHA-256)
  • Anciennes signatures numériques signées avec des certificats SHA-1
  • Sommes de contrôle de fichiers hérités distribuées avant la dépréciation
  • Certains systèmes de contrôle de version et outils de sauvegarde

Si vous rencontrez SHA-1 dans un nouveau système, migrez vers SHA-256 immédiatement.

Considérations de Performance

Sur les processeurs 32 bits, SHA-256 est plus rapide que SHA-512 car SHA-512 opère sur des mots de 64 bits, nécessitant des instructions supplémentaires. Sur les processeurs 64 bits avec accélération matérielle (extensions SHA), SHA-256 et SHA-512 fonctionnent tous deux bien, SHA-256 étant généralement légèrement plus rapide.

Pour le hachage de gros fichiers, la différence est mesurable mais rarement significative pour un usage typique. Un fichier qui prend 1 seconde à hacher avec SHA-256 pourrait prendre 0,7 seconde avec SHA-1 ou 1,3 seconde avec SHA-512. Pour la plupart des applications, les avantages de sécurité de SHA-256 l'emportent largement sur la différence de performance mineure.

Exemples de Code

// PHP
echo hash('sha1', 'hello');   // aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
echo hash('sha256', 'hello'); // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
echo hash('sha512', 'hello'); // 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
import hashlib

print(hashlib.sha1(b'hello').hexdigest())
print(hashlib.sha256(b'hello').hexdigest())
print(hashlib.sha512(b'hello').hexdigest())
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha1').update('hello').digest('hex'));
console.log(crypto.createHash('sha256').update('hello').digest('hex'));
console.log(crypto.createHash('sha512').update('hello').digest('hex'));

Recommandation

Cas d'Utilisation Recommandation
Certificats SSL/TLS SHA-256
Vérification d'intégrité de fichiers SHA-256 ou SHA-512
Signatures numériques SHA-256
Hachage de mots de passe bcrypt ou argon2 (pas SHA)
Blockchain / crypto SHA-256
Archivage à long terme SHA-512
Compatibilité héritée Migrer vers SHA-256

Outils en Ligne

Utilisez les outils Générateur SHA-1, Générateur SHA-256 et Générateur SHA-512 pour calculer des hachés instantanément. Le Générateur de Hachés Multiples génère tous les types de hachés à la fois pour comparaison.

Conclusion

SHA-1 est cassé et ne doit pas être utilisé. SHA-256 est le standard recommandé pour la plupart des applications. SHA-512 offre une sécurité supplémentaire pour les environnements à haut risque. Utilisez SHA-256 par défaut, sauf si vous avez une raison spécifique de choisir autrement.


About this article

Comparez les algorithmes de hachage SHA-1, SHA-256 et SHA-512 pour comprendre leurs niveaux de sécurité, leurs compromis de performance et quand utiliser chacun.


Related Articles


Related Tools

Help2Code Logo
Menu