Générateur de hachage SHA-512

Calculez l’empreinte SHA-512 de 512 bits d’un texte, d’octets hexadécimaux ou d’un fichier, vérifiez-la par rapport à une valeur attendue et consultez les SHA-384, SHA-256, SHA-1, MD5 et CRC-32 de la même entrée.

Tous les algorithmes

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Saisissez du texte ou des octets en hexa, ou ouvrez un fichier pour hacher son contenu.
  2. Dans « Format de sortie », choisissez l’hexa pour des sommes de contrôle comme celles de sha512sum, ou le Base64 pour les chaînes d’intégrité.
  3. Collez une valeur attendue dans le champ « Comparer avec » pour la vérifier ; l’hexa et le Base64 sont tous deux acceptés.
  4. Besoin de SHA-384 ? Choisissez-le dans le menu « Algorithme » ou copiez-le depuis le tableau « Tous les algorithmes ».

Qu’est-ce que SHA-512 ?

SHA-512 est la fonction SHA-2 dont la sortie est la plus longue ; elle est spécifiée dans FIPS 180-4 et la RFC 6234. Là où SHA-256 travaille sur des mots de 32 bits, SHA-512 utilise des mots de 64 bits, des blocs de 1024 bits et 80 tours, et produit une empreinte de 512 bits : 128 caractères hexadécimaux ou 88 caractères Base64. Sa résistance aux collisions, d’environ 256 bits, dépasse de loin toute attaque envisageable et, comme tout hachage, elle est à sens unique : l’entrée ne peut pas être retrouvée à partir de l’empreinte.

Parce qu’elle utilise une arithmétique sur 64 bits, SHA-512 est souvent plus rapide par octet que SHA-256 sur les processeurs 64 bits dépourvus d’instructions SHA-256 dédiées. Sur les processeurs qui en disposent, SHA-256 est généralement plus rapide.

SHA-384, SHA-512/256 et autres versions tronquées

Plusieurs hachages standard sont en réalité SHA-512 exécuté avec des valeurs initiales différentes, puis tronqué à une sortie plus courte :

NomSortieLongueur en hexaUsage courant
SHA-384384 bits96Suites de chiffrement TLS 1.3, Subresource Integrity
SHA-512/256256 bits64Sortie de la taille de SHA-256 à la vitesse de SHA-512
SHA-512/224224 bits56Rarement utilisé

Comme les valeurs initiales diffèrent, SHA-512/256 ne correspond pas aux 64 premiers caractères hexadécimaux de SHA-512. Les variantes tronquées résistent également à l’attaque par extension de longueur qui touche SHA-256 et SHA-512 complets. Cette page calcule SHA-384 et SHA-512 ; pour SHA-512/256, utilisez un autre outil, par exemple openssl dgst -sha512-256.

Chaînes d’intégrité Base64 et hachages de mots de passe

La forme hexa étant très longue, les formats lisibles par machine transportent souvent SHA-512 en Base64. Subresource Integrity accepte sha256-, sha384- et sha512- suivis d’une empreinte en Base64, et le fichier package-lock.json de npm stocke pour chaque paquet une valeur integrity, qui commence généralement par sha512-. Ouvrez le fichier, choisissez la sortie Base64 et ajoutez le préfixe.

Les hachages de mots de passe Linux qui commencent par $6$ sont du sha512crypt : un SHA-512 salé et répété des milliers de fois, qui n’est donc jamais égal au simple SHA-512 du mot de passe. Un simple SHA-512 d’un mot de passe se casse rapidement par force brute, quelle que soit la longueur de l’empreinte ; stockez les mots de passe avec Argon2id, scrypt, bcrypt ou PBKDF2-HMAC-SHA512.

SHA-512 en ligne de commande et dans le code

sha512sum file.tar.gz                        # Linux
shasum -a 512 file.tar.gz                    # macOS
certutil -hashfile file.tar.gz SHA512        # Windows
Get-FileHash file.tar.gz -Algorithm SHA512   # PowerShell

# Empreinte Base64 pour un attribut integrity
openssl dgst -sha512 -binary file.js | openssl base64 -A

# Python
hashlib.sha512(data).hexdigest()

// Node.js
crypto.createHash('sha512').update(data).digest('base64')

Sur cette page, SHA-512 est calculé par l’API Web Crypto de votre navigateur, et le tableau « Tous les algorithmes » affiche les valeurs SHA-384, SHA-256, SHA-1, MD5 et CRC de la même entrée.

Exemples

Entrée (UTF-8)SHA-512
Hello, World!374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387
Base64.is44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2
你好5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5

Questions fréquentes

SHA-512 est-il plus sûr que SHA-256 ?

Sa marge est plus grande, environ 256 bits de résistance aux collisions contre 128 bits pour SHA-256, mais aucun des deux n’est cassé et tous deux sont hors de portée de la force brute. Choisissez SHA-512 lorsqu’un format l’exige, lorsqu’il est plus rapide sur votre matériel ou lorsque vous voulez une empreinte plus longue ; sinon, SHA-256 suffit.

Peut-on déchiffrer un hachage SHA-512 ?

Non. Une empreinte SHA-512 fait toujours 64 octets, que l’entrée soit un seul mot ou une image disque entière : d’innombrables entrées différentes partagent donc chaque empreinte, et il n’y a rien à décoder. Une empreinte peut seulement être comparée au hachage d’une valeur candidate ; c’est ainsi que les sites de recherche trouvent les mots et les mots de passe courants, mais jamais des données imprévisibles.

Quelle est la longueur d’un hachage SHA-512 ?
64 octets : 128 caractères hexadécimaux ou 88 caractères Base64 se terminant par ==. SHA3-512, BLAKE2b et Whirlpool ont la même longueur : collez une empreinte inconnue dans l’identificateur de hachage pour voir lesquels correspondent.
SHA-512 est-il la même chose que SHA3-512 ?

Non. SHA3-512 (FIPS 202) repose sur Keccak, une conception totalement différente, et donne une empreinte différente pour la même entrée. Cette page ne calcule pas SHA-3.

Pourquoi deux chaînes d’apparence identique donnent-elles des hachages différents ?

Le hachage porte sur les octets. Un caractère comme é peut être stocké sous la forme d’un seul point de code ou d’un e suivi d’un accent combinant, et les espaces finaux, les fins de ligne (LF ou CRLF) et le jeu de caractères (UTF-8, UTF-16, Windows-1252) modifient aussi les octets. Choisissez dans « Encodage du texte » celui qu’a utilisé l’autre système, ou collez les octets exacts en hexa.