SHA-1 Générateur de Hachage
Outil en ligne gratuit SHA-1 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 SHA-1
SHA-1 (Secure Hash Algorithm 1) est un algorithme de hachage cryptographique conçu par la National Security Agency (NSA) des États-Unis et publié par le NIST en 1995. SHA-1 convertit des données de longueur arbitraire en une valeur de hachage fixe de 160 bits (40 caractères hexadécimaux). SHA-1 était l'un des algorithmes de hachage les plus utilisés, mais en raison de problèmes de sécurité, il est maintenant considéré comme non sécurisé. En 2017, Google a démontré avec succès une attaque par collision SHA-1 (SHAttered), prouvant que SHA-1 est pratiquement cassé. Malgré cela, SHA-1 est encore utilisé dans certains systèmes hérités, comme Git (qui migre vers SHA-256).
Étapes d'utilisation
SHA-1 est une fonction de hachage unidirectionnelle qui ne peut que calculer des valeurs de hachage et ne peut pas être inversée :
Problèmes de sécurité
SHA-1 a de sérieux problèmes de sécurité et a été prouvé non sécurisé :
Scénarios utilisant encore SHA-1
Malgré le fait que SHA-1 soit non sécurisé, certains systèmes hérités l'utilisent encore :
Alternatives
Des algorithmes de hachage plus sécurisés doivent être utilisés pour remplacer SHA-1 :
FAQ
Q: Lequel est plus sécurisé : SHA-1 ou MD5 ?
A: Les deux sont non sécurisés, mais SHA-1 est légèrement meilleur que MD5. MD5 : 1) Sortie de 128 bits. 2) Cassé en 2004, complexité de collision 2^39. 3) Les attaques par collision peuvent être complétées en heures sur des ordinateurs ordinaires. SHA-1 : 1) Sortie de 160 bits. 2) Cassé en 2017, complexité de collision approximativement 2^63. 3) Les attaques par collision nécessitent des ressources computationnelles significatives mais ont été démontrées pratiquement. Conclusion : Aucun ne doit être utilisé dans des scénarios de sécurité ; utilisez SHA-256 ou des algorithmes de niveau supérieur.
Q: Pourquoi Git utilise-t-il encore SHA-1 ?
A: Git utilise SHA-1 pour identifier les commits, les arbres et les objets, mais c'est un problème hérité. Raisons historiques : Quand Git a été créé en 2005, SHA-1 était considéré comme sécurisé. Compatibilité : Changer l'algorithme de hachage briserait la compatibilité avec tous les dépôts existants. Évaluation des risques : Le cas d'utilisation de Git (contrôle de version) diffère des certificats SSL ; le risque d'attaque par collision est relativement plus faible. Plan de migration : Git migre vers SHA-256 (Git 2.29+ le supporte), mais la transition prend du temps. Atténuation : Git implémente des mécanismes de détection de collision pour détecter les attaques de type SHAttered. Recommandation : Les nouveaux dépôts doivent utiliser SHA-256 ; les anciens dépôts peuvent continuer à utiliser SHA-1 (mais être conscient des risques).
Q: SHA-1 peut-il être utilisé pour le stockage de mots de passe ?
A: Absolument pas. SHA-1 a non seulement des vulnérabilités de collision mais est également inadapté au stockage de mots de passe. Problèmes : 1) Trop rapide : Les GPU peuvent calculer des milliards de hachages SHA-1 par seconde, facilement cassable par force brute. 2) Vulnérabilité de collision : Les attaquants pourraient exploiter les collisions pour générer différents mots de passe avec le même hachage. 3) Pas de sel : Utiliser SHA-1 seul ne peut pas défendre contre les attaques par table arc-en-ciel. Approche correcte : Utiliser des algorithmes spécialisés de hachage de mots de passe : 1) Argon2 (recommandé par OWASP). 2) bcrypt (facteur de coût ≥ 12). 3) PBKDF2-SHA256 (≥ 600k itérations).
Q: Qu'est-ce que l'attaque SHAttered ?
A: SHAttered est une attaque par collision SHA-1 démontrée par Google en 2017, prouvant que SHA-1 est pratiquement cassé. Principe de l'attaque : Générer deux fichiers PDF différents avec la même valeur de hachage SHA-1. Coût computationnel : Environ 6500 ans de temps CPU et 110 ans de temps GPU (calcul distribué). Impact : 1) Prouve que les attaques par collision SHA-1 sont faisables. 2) Le coût de l'attaque diminue avec le temps ; pourrait devenir plus facile à l'avenir. 3) Les principaux navigateurs ont cessé de faire confiance aux certificats SHA-1. Exemple : Google a publié deux fichiers PDF différents avec la même valeur de hachage SHA-1 (shattered.io).
Q: Comment migrer de SHA-1 vers SHA-256 ?
A: Migrer vers SHA-256 nécessite d'évaluer l'impact et de développer un plan de migration. Évaluer l'impact : 1) Identifier tous les systèmes et composants utilisant SHA-1. 2) Évaluer la compatibilité et le coût de migration. 3) Déterminer les priorités de migration (scénarios sensibles à la sécurité en premier). Stratégies de migration : 1) Double hachage : Calculer à la fois SHA-1 et SHA-256, transition progressive. 2) Identification de version : Identifier l'algorithme de hachage utilisé dans les données. 3) Migration par phases : Migrer les nouvelles données d'abord, puis les anciennes données. Migration Git : Utiliser git config --global init.defaultBranch main et git config --global extensions.objectFormat sha256 pour créer des dépôts SHA-256.
Q: Quels usages SHA-1 a-t-il encore ?
A: SHA-1 n'est adapté qu'aux scénarios non liés à la sécurité et doit être migré vers des algorithmes plus sécurisés dès que possible. Usages acceptables : 1) Déduplication de fichiers : Identifier les fichiers en double dans des scénarios non liés à la sécurité (mais SHA-256 est meilleur). 2) Sommes de contrôle : Détecter la corruption accidentelle des données (pas la falsification malveillante). 3) Compatibilité avec les systèmes hérités : Maintenir des systèmes qui ne peuvent pas être mis à jour (solution temporaire). Usages inacceptables : 1) Signatures numériques. 2) Certificats SSL/TLS. 3) Signature de code. 4) Stockage de mots de passe. 5) Tout scénario sensible à la sécurité. Recommandation : Même dans des scénarios non liés à la sécurité, SHA-256 doit être priorisé car la différence de performance est minimale mais la sécurité est grandement améliorée.
Use Cases
Non recommandé : Certificats SSL/TLS
Les certificats SHA-1 ont été dépréciés par les principaux navigateurs et ne doivent plus être utilisés. Depuis 2017, des navigateurs comme Chrome, Firefox et Edge ont cessé de faire confiance aux certificats SHA-1 ; visiter des sites web utilisant des certificats SHA-1 affiche des avertissements de sécurité. Les autorités CA ont également cessé d'émettre des certificats SHA-1. Tous les sites web doivent utiliser SHA-256 ou des certificats de niveau supérieur.
- ❌ Non recommandé : Certificats SHA-1 (dépréciés)
- ✅ Recommandé : Certificats SHA-256 (standard industriel)
- ✅ Recommandé : Certificats SHA-384/SHA-512 (sécurité plus élevée)
- 💡 Utiliser Let's Encrypt pour obtenir des certificats SHA-256 gratuits
Non recommandé : Signatures numériques
Les signatures numériques SHA-1 ont des risques de collision ; les attaquants pourraient falsifier des signatures. La signature de code, la signature de documents, les sorties de logiciels et d'autres scénarios ne doivent pas utiliser SHA-1. Des entreprises comme Microsoft et Apple ont cessé d'accepter les logiciels signés SHA-1. Toutes les signatures numériques doivent utiliser SHA-256 ou des algorithmes de niveau supérieur.
- ❌ Non recommandé : Signatures SHA-1 (non sécurisé)
- ✅ Recommandé : Signatures SHA-256 (standard industriel)
- ✅ Recommandé : EdDSA (algorithme de signature moderne)
- 💡 Utiliser des certificats de signature de code (SHA-256)
Usage limité : Contrôle de version Git
Git utilise encore SHA-1 mais migre vers SHA-256. Pour les dépôts existants, SHA-1 peut continuer à être utilisé (Git a des mécanismes de détection de collision). Pour les nouveaux dépôts, SHA-256 est recommandé. Git 2.29+ supporte SHA-256, mais les problèmes de compatibilité doivent être notés (les anciennes versions de Git ne peuvent pas lire les dépôts SHA-256).
- ✅ Nouveaux dépôts : Utiliser SHA-256 (Git 2.29+)
- ⚠️ Anciens dépôts : Peuvent continuer à utiliser SHA-1 (avec des risques)
- ✅ Activer la détection de collision Git
- 💡 Planifier la migration vers SHA-256
Usage limité : Sommes de contrôle de fichiers (non sécurité)
SHA-1 peut être utilisé pour détecter la corruption accidentelle des données (comme les erreurs de transmission) mais ne peut pas défendre contre la falsification malveillante. Si seules les erreurs accidentelles sont détectées (scénarios non liés à la sécurité), SHA-1 est encore utilisable. Cependant, pour les scénarios sensibles à la sécurité (comme les téléchargements de logiciels, la vérification de l'intégrité des fichiers), utilisez SHA-256.
- ⚠️ Utilisable : Détecter la corruption accidentelle des données (non sécurité)
- ❌ Non utilisable : Défendre contre la falsification malveillante (scénarios de sécurité)
- ✅ Recommandé : Utiliser SHA-256 à la place
- 💡 La différence de performance de SHA-256 est minimale mais la sécurité est grandement améliorée
Non recommandé : Stockage de mots de passe
SHA-1 ne doit absolument pas être utilisé pour le stockage de mots de passe. Même avec du sel, SHA-1 est facilement cassable par les GPU. Le stockage de mots de passe doit utiliser des algorithmes spécialisés de hachage de mots de passe tels que Argon2, bcrypt ou PBKDF2-SHA256. Ces algorithmes ont des coûts computationnels ajustables pour résister efficacement aux attaques par force brute.
- ❌ Non recommandé : SHA-1 (trop rapide, non sécurisé)
- ✅ Recommandé : Argon2 (recommandé par OWASP)
- ✅ Recommandé : bcrypt (facteur de coût ≥ 12)
- ✅ Recommandé : PBKDF2-SHA256 (≥ 600k itérations)
Non recommandé : Blockchain et cryptomonnaies
La blockchain et les cryptomonnaies ne doivent pas utiliser SHA-1. Bitcoin utilise SHA-256, Ethereum utilise Keccak-256. La vulnérabilité de collision de SHA-1 pourrait conduire à des attaques de double dépense ou d'autres problèmes de sécurité. Tous les projets blockchain doivent utiliser SHA-256 ou des algorithmes de hachage de niveau supérieur.
- ❌ Non recommandé : SHA-1 (non sécurisé)
- ✅ Recommandé : SHA-256 (standard Bitcoin)
- ✅ Recommandé : Keccak-256 (standard Ethereum)
- ✅ Recommandé : BLAKE2 (alternative haute performance)
Avertissement de sécurité
- SHA-1 a des vulnérabilités de collision prouvées et ne doit pas être utilisé dans des scénarios sensibles à la sécurité.
- Les principaux navigateurs ont cessé de faire confiance aux certificats SSL SHA-1 ; les sites web utilisant des certificats SHA-1 afficheront des avertissements de sécurité.
- Les nouveaux projets doivent utiliser SHA-256 ou des algorithmes de niveau supérieur ; ne pas utiliser SHA-1.
- Même dans des scénarios non liés à la sécurité, SHA-256 doit être priorisé car la différence de performance est minimale mais la sécurité est grandement améliorée.
- Si SHA-1 doit être utilisé (comme la compatibilité avec des systèmes hérités), un plan de migration doit être développé dès que possible.
- Git migre de SHA-1 vers SHA-256 ; les nouveaux dépôts doivent utiliser SHA-256.