SHA-1 produit une empreinte déterministe de 160 bits, généralement écrite avec 40 caractères hexadécimaux. Il a longtemps servi à vérifier des fichiers, signer des objets et stocker des mots de passe, mais les collisions pratiques publiées rendent aujourd’hui son usage déconseillé pour toute nouvelle application de sécurité.
Le bouton de génération calcule SHA-1 sur les octets exacts du texte saisi. La recherche compare ensuite chaque empreinte à notre corpus multi-hash. Elle peut retrouver un plaintext déjà indexé, y compris parmi nos extensions propres, mais elle ne permet pas de reconstruire un texte arbitraire à partir du hash.
Le SHA-1 de hello est aa f4 c6 1d dc c5 e8 a2 da be de 0f 3b 48 2c d9 ae a9 43 4d sans les espaces. Hello, hello et hello\n donnent trois résultats différents.
Un échec signifie seulement que le plaintext n’est pas présent dans les corpus actuellement interrogés. Les hashs salés, les chaînes aléatoires, les textes longs et les encodages inhabituels sont moins susceptibles d’être trouvés. Pour plusieurs empreintes, l’API permet une recherche par lots dans la même base logique.
N’utilisez plus SHA-1 pour les signatures, certificats ou nouveaux systèmes. Pour stocker des mots de passe, choisissez Argon2id, scrypt ou bcrypt avec un sel unique. Ajouter simplement un sel à SHA-1 évite les bases précalculées, mais ne corrige pas sa vitesse excessive face à une attaque hors ligne.
Ces exemples utilisent exactement le texte « hello », sans retour à la ligne. Un espace ou un saut de ligne modifierait l’empreinte.
printf %s 'hello' | sha1sumecho hash('sha1', 'hello');const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);SHA-1 est plus long que MD5 mais n’est plus considéré comme résistant aux collisions. SHA-256 et SHA-512 appartiennent à SHA-2 et restent adaptés à l’intégrité lorsqu’ils sont correctement employés, sans pour autant devenir de bonnes fonctions de stockage de mots de passe.
SHA-1 produit 160 bits, soit 20 octets ou 40 caractères hexadécimaux.
Non. Md5Decrypt cherche une correspondance déjà calculée dans ses corpus ; l’opération n’inverse pas mathématiquement SHA-1.
Des collisions pratiques ont démontré que deux contenus différents peuvent être construits avec la même empreinte, ce qui invalide son usage moderne pour les signatures et l’intégrité hostile.
Le sel empêche les tables précalculées, mais SHA-1 reste trop rapide. Une fonction lente et paramétrable comme Argon2id, scrypt ou bcrypt est préférable.
Le plaintext peut être absent, salé, très long, aléatoire ou encodé différemment de ce que vous attendez.
La recherche compare des empreintes SHA-1 exactes à la base. Le vérificateur de fichier sert à contrôler l’intégrité, mais SHA-1 ne convient plus aux signatures modernes ni au stockage des mots de passe.
Des collisions pratiques ont été démontrées. Il ne doit plus protéger les signatures, certificats ou nouveaux systèmes.
Il calcule l’empreinte d’un fichier afin de la comparer à une valeur publiée. Cette vérification est distincte d’une recherche dans la base.
La base ne peut retourner que des textes déjà indexés et correspondant exactement à l’empreinte.
Ces commandes calculent l’empreinte des cinq octets UTF-8 de « hello », sans retour à la ligne ajouté.
printf %s "hello" | sha1sumhash('sha1', 'hello');const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);