Générateur de Hash SHA-384

Générer un hash SHA-384 à partir de n'importe quel texte

Texte d'entrée

Fonctionne localement · Sûr pour coller des secrets

Hash SHA-384

Le hash SHA-384 s'affichera ici…

Qu'est-ce que le hachage SHA-384 ?

SHA-384 est une fonction de hachage cryptographique définie dans NIST FIPS 180-4, au sein de la famille SHA-2. Elle accepte une entrée de longueur quelconque et produit un condensat fixe de 384 bits (48 octets), affiché conventionnellement sous forme d'une chaîne hexadécimale de 96 caractères. SHA-384 est largement utilisé dans les suites de chiffrement TLS, les signatures de certificats numériques et les systèmes gouvernementaux qui requièrent une marge de résistance aux collisions supérieure à celle de SHA-256.

Internalement, SHA-384 est une variante tronquée de SHA-512. Il utilise la même taille de bloc de 1 024 bits, les mêmes 80 tours de compression et la même arithmétique sur des mots de 64 bits que SHA-512, mais démarre avec un ensemble différent de valeurs de hachage initiales (dérivées des 9e au 16e nombres premiers) et ne produit que les 384 premiers bits de l'état final. Cette troncature signifie que SHA-384 produit un condensat différent de SHA-512 pour des entrées identiques, bien qu'ils partagent le même algorithme de base.

Parce que SHA-384 opère sur des mots de 64 bits, il s'exécute plus rapidement que SHA-256 sur les processeurs 64 bits modernes tout en produisant un condensat plus grand. Il constitue ainsi un compromis pratique : plus solide que SHA-256 (résistance aux collisions de 192 bits contre 128 bits) sans la charge de stockage de la sortie hex à 128 caractères de SHA-512. SHA-384 est le hachage par défaut pour les signatures de vérification de certificats TLS 1.3 et est requis par la NSA Suite B (désormais CNSA) pour les données TRÈS SECRET.

Pourquoi utiliser un générateur SHA-384 en ligne ?

Générer des hachages SHA-384 nécessite habituellement une commande en terminal ou l'écriture de code. Cet outil basé sur le navigateur vous permet de calculer des condensats SHA-384 instantanément sans rien installer ni envoyer de données à un serveur. Que vous ayez besoin de générer un hash SRI pour un fichier CDN, de vérifier une somme de contrôle ou de comparer la sortie SHA-384 avec SHA-256 pour la même entrée, cet outil vous offre un moyen immédiat et sans dépendance de travailler avec des condensats SHA-384 dans n'importe quel navigateur moderne.

Calcul instantané dans le navigateur
Collez du texte et obtenez immédiatement un hash SHA-384 de 96 caractères. L'API Web Crypto gère le calcul nativement dans votre navigateur, sans aucune dépendance externe.
🔒
Hachage axé sur la confidentialité
Votre saisie ne quitte jamais votre appareil. Tout le hachage s'exécute localement via l'API Web Crypto — aucune requête serveur, aucune journalisation, aucune conservation de données.
📋
Formats de sortie prêts à copier
Basculez entre la sortie hex en minuscules et en majuscules en un clic. Copiez le hash dans votre presse-papiers pour l'utiliser dans des fichiers de sommes de contrôle, des configurations ou de la documentation.
🔍
Aucun compte ni installation
Fonctionne dans n'importe quel navigateur moderne — Chrome, Firefox, Safari, Edge. Aucune inscription, aucune extension, aucune configuration CLI requise.

Cas d'utilisation du Générateur de Hash SHA-384

Vérification des certificats TLS
TLS 1.2 et 1.3 utilisent SHA-384 dans la vérification des signatures de certificats et la PRF (fonction pseudoaléatoire). Calculez des condensats SHA-384 pour valider les empreintes de certificats par rapport aux valeurs attendues lors d'audits de sécurité.
Subresource Integrity (SRI)
Générez des hachages SHA-384 pour les fichiers JavaScript et CSS chargés depuis des CDNs. L'attribut integrity dans les balises script et link utilise SHA-384 encodé en Base64 par défaut dans la plupart des générateurs SRI.
Systèmes gouvernementaux et de conformité
La CNSA (anciennement NSA Suite B) mandate SHA-384 pour la protection des informations classifiées. Générez des hachages pour vérifier l'intégrité des documents dans les flux de conformité qui requièrent des algorithmes FIPS 180-4.
Vérification d'intégrité des fichiers
Calculez des sommes de contrôle SHA-384 pour des images firmware, des versions logicielles ou des fichiers de configuration. Comparez le hash avant et après le transfert pour détecter toute corruption ou altération.
Dérivation de clé HMAC-SHA384
SHA-384 s'associe à HMAC pour l'authentification des messages dans des protocoles comme IPsec et TLS. Utilisez cet outil pour vérifier les sorties de hash attendues lors du débogage d'implémentations HMAC-SHA384.
Exercices académiques de cryptographie
Les étudiants qui étudient la famille SHA-2 peuvent comparer la sortie SHA-384 avec SHA-256 et SHA-512 pour la même entrée, afin d'observer comment des vecteurs initiaux différents et la troncature produisent des condensats distincts.

Comparaison des variantes de la famille SHA-2

SHA-384 appartient à la famille SHA-2 aux côtés de plusieurs autres variantes. Le tableau ci-dessous montre comment elles diffèrent en termes de taille de condensat, de longueur de sortie et d'applications typiques.

VarianteCondensatLongueur hexOctetsIdéal pour
SHA-384384 bits96 hex chars48 bytesTLS 1.2/1.3, government/CNSA, certificate signatures
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-384 vs SHA-256 vs SHA-512 vs SHA-3-384

Le choix entre SHA-384 et d'autres algorithmes de hachage dépend de vos exigences de sécurité, des contraintes de la plateforme et des besoins en performance. Cette comparaison couvre les propriétés les plus pertinentes.

PropriétéSHA-384SHA-256SHA-512SHA-3-384
Digest size384 bits (96 hex)256 bits (64 hex)512 bits (128 hex)384 bits (96 hex)
Internal state512 bits (8x64-bit)256 bits (8x32-bit)512 bits (8x64-bit)1600 bits (sponge)
Block size1024 bits512 bits1024 bits832 bits
Rounds80648024
Word size64 bits32 bits64 bitsN/A (sponge)
Length extensionResistantVulnerableVulnerableResistant
64-bit performanceFast (native ops)Slower (32-bit ops)Fast (native ops)Moderate
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo

Fonctionnement interne de SHA-384

SHA-384 traite l'entrée via la même construction de Merkle–Damgård que SHA-512. L'entrée est complétée jusqu'à un multiple de 1 024 bits, découpée en blocs, et chaque bloc est traité par 80 tours de mélange utilisant les fonctions Ch, Maj et deux fonctions Sigma avec une arithmétique sur des mots de 64 bits. La différence clé avec SHA-512 réside dans les valeurs de hachage initiales : SHA-384 utilise des valeurs dérivées des parties fractionnaires des racines carrées des 9e au 16e nombres premiers, tandis que SHA-512 utilise les 8 premiers. Une fois tous les blocs traités, SHA-384 tronque l'état interne de 512 bits à ses 384 premiers bits.

Input: "hello world"
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
(384 bits = 48 bytes = 96 hex characters)

La troncature et l'initialisation différente signifient que SHA-384 et SHA-512 produisent toujours des condensats différents pour la même entrée. Cela rend également SHA-384 intrinsèquement résistant aux attaques par extension de longueur, contrairement à SHA-256 et SHA-512 où un attaquant peut ajouter des données et calculer un hash valide sans connaître le message original.

Exemples de code SHA-384

SHA-384 est pris en charge nativement dans tous les langages et environnements d'exécution majeurs. Voici des exemples fonctionnels que vous pouvez copier directement dans vos projets.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha384(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-384', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha384('hello world')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha384').update('hello world').digest('hex')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"
Python
import hashlib

# Basic SHA-384 hash
result = hashlib.sha384(b'hello world').hexdigest()
print(result)
# → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

# Hash a string with Unicode characters
text = 'café ☕'
hashlib.sha384(text.encode('utf-8')).hexdigest()
# → 96-character hex string

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha384()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    // SHA-384 lives in the crypto/sha512 package
    hash := sha512.Sum384(data)
    fmt.Printf("%x\n", hash)
    // → fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
}
CLI (Linux / macOS)
# Using sha384sum (Linux)
echo -n "hello world" | sha384sum
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# macOS
echo -n "hello world" | shasum -a 384
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha384
# → SHA2-384(stdin)= fdbd8e75a67f29f701a4e040385e2e23986303ea...

# Verify a file checksum
sha384sum myfile.bin > checksum.txt
sha384sum -c checksum.txt
# → myfile.bin: OK

Questions fréquentes

Quelle est la différence entre SHA-384 et SHA-512 ?
SHA-384 et SHA-512 utilisent la même fonction de compression, la même taille de bloc (1 024 bits) et le même nombre de tours (80). Ils diffèrent de deux manières : SHA-384 commence avec des valeurs de hachage initiales différentes (dérivées des nombres premiers 9 à 16 au lieu de 1 à 8), et ne produit que les 384 premiers bits de l'état interne de 512 bits. Cela signifie qu'ils produisent toujours des condensats différents pour la même entrée.
SHA-384 est-il plus sécurisé que SHA-256 ?
SHA-384 offre une résistance aux collisions de 192 bits contre 128 bits pour SHA-256, sur la base de la borne d'attaque anniversaire (la moitié de la longueur du condensat). Pour la résistance à la préimage, SHA-384 offre 384 bits contre 256 bits. En pratique, les deux sont considérés comme sécurisés pour les modèles de menaces actuels, mais SHA-384 offre une marge de sécurité plus grande pour la protection des données à long terme et est requis par certaines normes gouvernementales.
Pourquoi TLS utilise-t-il SHA-384 plutôt que SHA-512 ?
Les suites de chiffrement TLS comme TLS_AES_256_GCM_SHA384 utilisent SHA-384 car il offre une résistance aux collisions suffisante (192 bits) tout en maintenant des tailles de condensat gérables. La sortie hex à 128 caractères de SHA-512 ajoute une surcharge dans les messages de handshake et les chaînes de certificats sans bénéfice de sécurité proportionnel pour le cas d'utilisation de TLS. SHA-384 s'aligne également sur le niveau de sécurité de 192 bits ciblé par AES-256.
Comment SHA-384 est-il utilisé dans la Subresource Integrity (SRI) ?
Les balises SRI en HTML utilisent le format integrity="sha384-{base64hash}" pour vérifier que les scripts et feuilles de style récupérés depuis des CDNs n'ont pas été modifiés. Le navigateur calcule le hash SHA-384 du fichier téléchargé et le compare à la valeur attendue. S'ils ne correspondent pas, la ressource est bloquée. SHA-384 est l'algorithme le plus couramment utilisé pour SRI car il équilibre sécurité et taille du condensat.
Peut-on inverser SHA-384 pour récupérer l'entrée originale ?
Non. SHA-384 est une fonction à sens unique par conception. Il dispose de 384 bits de résistance à la préimage, ce qui signifie qu'il n'existe aucune méthode connue pour retrouver l'entrée à partir d'un condensat SHA-384 plus rapidement qu'une recherche par force brute sur 2^384 possibilités. Cependant, les entrées courtes ou prévisibles (comme les mots de passe courants) peuvent être retrouvées à l'aide de tables arc-en-ciel précalculées ou d'attaques par dictionnaire, c'est pourquoi les mots de passe doivent être hachés avec des algorithmes dédiés comme bcrypt ou Argon2.
SHA-384 est-il pris en charge dans l'API Web Crypto ?
Oui. Tous les navigateurs modernes implémentent SHA-384 via crypto.subtle.digest('SHA-384', data). C'est la même API utilisée par cet outil. Elle est également disponible dans Node.js 18+ et Deno. L'API Web Crypto retourne un ArrayBuffer que vous convertissez en chaîne hex en associant chaque octet à sa représentation hexadécimale à deux caractères.
Quand devrais-je utiliser SHA-384 plutôt que SHA-256 ?
Utilisez SHA-384 lorsque votre politique de sécurité exige plus de 128 bits de résistance aux collisions, lorsque vous avez besoin de conformité avec CNSA/Suite B pour des données classifiées, ou lorsque vous utilisez déjà AES-256 et souhaitez un niveau de sécurité correspondant de 192 bits. SHA-384 s'exécute également plus rapidement que SHA-256 sur les processeurs 64 bits car il utilise des opérations natives sur des mots de 64 bits. Pour la plupart des applications web et le hachage à usage général, SHA-256 reste le choix standard.