SHA-1 : générateur et recherche de hash

BeetVPN

Votre saisie

Entrée

Résultats

Résultat

Le résultat apparaîtra ici.


Comprendre SHA-1

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é.

Taille160 bits
Format courant40 caractères hexadécimaux

Génération et recherche en base

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.

Exemple concret

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.

Comment fonctionne le lookup ?

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.

Bonnes pratiques de sécurité

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.

Reproduire le calcul

Ces exemples utilisent exactement le texte « hello », sans retour à la ligne. Un espace ou un saut de ligne modifierait l’empreinte.

Terminal
printf %s 'hello' | sha1sum
PHP
echo hash('sha1', 'hello');
JavaScript
const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);

Comparaison avec les autres variantes SHA

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.

FAQ

Quelle est la longueur d’un hash SHA-1 ?

SHA-1 produit 160 bits, soit 20 octets ou 40 caractères hexadécimaux.

Peut-on déchiffrer SHA-1 ?

Non. Md5Decrypt cherche une correspondance déjà calculée dans ses corpus ; l’opération n’inverse pas mathématiquement SHA-1.

Pourquoi SHA-1 n’est-il plus recommandé ?

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.

SHA-1 salé est-il sûr pour un mot de passe ?

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.

Pourquoi mon hash SHA-1 n’est-il pas trouvé ?

Le plaintext peut être absent, salé, très long, aléatoire ou encodé différemment de ce que vous attendez.

Repères pratiques

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.

Longueur160 bits / 40 hex
Lot20 empreintes maximum
FichierCalcul et comparaison

Questions fréquentes

Pourquoi SHA-1 est-il déconseillé ?

Des collisions pratiques ont été démontrées. Il ne doit plus protéger les signatures, certificats ou nouveaux systèmes.

À quoi sert le checksum de fichier ?

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.

Pourquoi une recherche peut-elle échouer ?

La base ne peut retourner que des textes déjà indexés et correspondant exactement à l’empreinte.

Exemples reproductibles

Ces commandes calculent l’empreinte des cinq octets UTF-8 de « hello », sans retour à la ligne ajouté.

Terminal

printf %s "hello" | sha1sum

PHP

hash('sha1', 'hello');

JavaScript

const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-1', bytes);