Generador de Hash SHA-384

Genera hash SHA-384 de cualquier texto

Texto de entrada

Se ejecuta localmente · Es seguro pegar secretos

Hash SHA-384

El hash SHA-384 aparecerá aquí…

¿Qué es el hashing SHA-384?

SHA-384 es una función de hash criptográfico definida en NIST FIPS 180-4 como parte de la familia SHA-2. Acepta una entrada de longitud arbitraria y produce un resumen de mensaje fijo de 384 bits (48 bytes), habitualmente representado como una cadena hexadecimal de 96 caracteres. SHA-384 se usa ampliamente en suites de cifrado TLS, firmas de certificados digitales y sistemas gubernamentales que requieren un margen de resistencia a colisiones mayor que el que ofrece SHA-256.

Internamente, SHA-384 es una variante truncada de SHA-512. Utiliza el mismo tamaño de bloque de 1024 bits, 80 rondas de compresión y aritmética de palabras de 64 bits que SHA-512, pero parte de un conjunto diferente de valores de hash iniciales (derivados del 9.º al 16.º número primo) y produce solo los primeros 384 bits del estado final. Esta truncación hace que SHA-384 genere un resumen distinto al de SHA-512 para entradas idénticas, a pesar de compartir el mismo algoritmo central.

Dado que SHA-384 opera con palabras de 64 bits, es más rápido que SHA-256 en procesadores de 64 bits modernos y produce un resumen más largo. Esto lo convierte en un punto medio práctico: más robusto que SHA-256 (192 bits de resistencia a colisiones frente a 128 bits) sin el coste de almacenamiento de la salida hex de 128 caracteres de SHA-512. SHA-384 es el hash predeterminado para las firmas de verificación de certificados en TLS 1.3 y es requerido por NSA Suite B (ahora CNSA) para datos SECRETOS.

¿Por qué usar un generador de SHA-384 online?

Generar hashes SHA-384 normalmente requiere un comando de terminal o escribir código. Esta herramienta basada en navegador te permite calcular resúmenes SHA-384 al instante sin instalar nada ni enviar datos a un servidor. Ya sea que necesites generar un hash SRI para un recurso en CDN, verificar un checksum de archivo, o comparar la salida SHA-384 con SHA-256 para la misma entrada, esta herramienta te da una forma inmediata y sin dependencias de trabajar con resúmenes SHA-384 en cualquier navegador moderno.

Cálculo instantáneo en el navegador
Pega el texto y obtén un hash SHA-384 de 96 caracteres de inmediato. La Web Crypto API gestiona el cálculo de forma nativa en tu navegador sin dependencias externas.
🔒
Hashing con privacidad garantizada
Tu entrada nunca sale de tu dispositivo. Todo el hashing se ejecuta localmente mediante la Web Crypto API — sin peticiones al servidor, sin registros, sin retención de datos.
📋
Formatos de salida listos para copiar
Cambia entre hex en minúsculas y mayúsculas con un solo clic. Copia el hash al portapapeles para usarlo en archivos de checksum, configuración o documentación.
🔍
Sin cuenta ni instalación
Funciona en cualquier navegador moderno — Chrome, Firefox, Safari, Edge. Sin registro, sin extensiones, sin configuración de CLI.

Casos de uso del Generador de Hash SHA-384

Verificación de certificados TLS
TLS 1.2 y 1.3 usan SHA-384 en la verificación de firmas de certificados y en la PRF (función pseudoaleatoria). Calcula resúmenes SHA-384 para validar las huellas de certificados frente a los valores esperados durante auditorías de seguridad.
Integridad de Subrecursos (SRI)
Genera hashes SHA-384 para archivos JavaScript y CSS cargados desde CDNs. El atributo integrity en etiquetas script y link usa SHA-384 codificado en Base64 por defecto en la mayoría de los generadores SRI.
Sistemas gubernamentales y de cumplimiento
CNSA (antes NSA Suite B) exige SHA-384 para proteger información clasificada. Genera hashes para verificar la integridad de documentos en flujos de trabajo de cumplimiento que requieren algoritmos FIPS 180-4.
Verificación de integridad de archivos
Calcula checksums SHA-384 para imágenes de firmware, versiones de software o archivos de configuración. Compara el hash antes y después de la transferencia para detectar corrupción o manipulación.
Derivación de clave HMAC-SHA384
SHA-384 se combina con HMAC para la autenticación de mensajes en protocolos como IPsec y TLS. Usa esta herramienta para verificar las salidas de hash esperadas al depurar implementaciones HMAC-SHA384.
Ejercicios académicos de criptografía
Los estudiantes que estudian la familia SHA-2 pueden comparar la salida de SHA-384 con SHA-256 y SHA-512 para la misma entrada y observar cómo distintos vectores iniciales y la truncación producen resúmenes diferentes.

Comparación de variantes de la familia SHA-2

SHA-384 pertenece a la familia SHA-2 junto con otras variantes. La tabla muestra sus diferencias en tamaño de resumen, longitud de salida y aplicaciones típicas.

VarianteResumenLongitud hexBytesIdeal para
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

La elección entre SHA-384 y otros algoritmos de hash depende de tus requisitos de seguridad, las limitaciones de la plataforma y las necesidades de rendimiento. Esta comparación cubre las propiedades más relevantes.

PropiedadSHA-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

Cómo funciona SHA-384 internamente

SHA-384 procesa la entrada mediante la misma construcción Merkle–Damgård que SHA-512. La entrada se rellena hasta ser múltiplo de 1024 bits, se divide en bloques y cada bloque se procesa a través de 80 rondas de mezcla usando las funciones Ch, Maj y dos funciones Sigma con aritmética de palabras de 64 bits. La diferencia clave respecto a SHA-512 son los valores de hash iniciales: SHA-384 usa valores derivados de las partes fraccionarias de las raíces cuadradas del 9.º al 16.º número primo, mientras que SHA-512 usa los 8 primeros. Tras procesar todos los bloques, SHA-384 trunca el estado interno de 512 bits a sus primeros 384 bits.

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

La truncación y la inicialización diferente hacen que SHA-384 y SHA-512 siempre produzcan resúmenes distintos para la misma entrada. Esto también hace que SHA-384 sea intrínsecamente resistente a los ataques de extensión de longitud, a diferencia de SHA-256 y SHA-512, donde un atacante puede añadir datos y calcular un hash válido sin conocer el mensaje original.

Ejemplos de código SHA-384

SHA-384 está soportado de forma nativa en todos los principales lenguajes y entornos de ejecución. A continuación encontrarás ejemplos funcionales que puedes copiar directamente en tus proyectos.

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

Preguntas frecuentes

¿Cuál es la diferencia entre SHA-384 y SHA-512?
SHA-384 y SHA-512 usan la misma función de compresión, tamaño de bloque (1024 bits) y número de rondas (80). Difieren en dos aspectos: SHA-384 parte de valores de hash iniciales distintos (derivados de los primos 9–16 en lugar de 1–8) y produce solo los primeros 384 bits del estado interno de 512 bits. Por ello, siempre generan resúmenes diferentes para la misma entrada.
¿Es SHA-384 más seguro que SHA-256?
SHA-384 proporciona 192 bits de resistencia a colisiones frente a los 128 bits de SHA-256, según el límite del ataque de cumpleaños, que es la mitad de la longitud del resumen. Para la resistencia a preimagen, SHA-384 ofrece 384 bits frente a 256. En la práctica, ambos se consideran seguros para los modelos de amenaza actuales, pero SHA-384 ofrece un mayor margen de seguridad para la protección de datos a largo plazo y es requerido por algunos estándares gubernamentales.
¿Por qué TLS usa SHA-384 en lugar de SHA-512?
Las suites de cifrado TLS como TLS_AES_256_GCM_SHA384 usan SHA-384 porque proporciona resistencia a colisiones suficiente (192 bits) manteniendo los tamaños de resumen manejables. La salida hex de 128 caracteres de SHA-512 añade sobrecarga en los mensajes de handshake y en las cadenas de certificados sin un beneficio de seguridad proporcional para el caso de uso de TLS. SHA-384 también se alinea con el nivel de seguridad de 192 bits objetivo de AES-256.
¿Cómo se usa SHA-384 en la Integridad de Subrecursos (SRI)?
Las etiquetas SRI en HTML usan el formato integrity="sha384-{base64hash}" para verificar que los scripts y hojas de estilo obtenidos de CDNs no han sido modificados. El navegador calcula el hash SHA-384 del archivo descargado y lo compara con el valor esperado. Si no coinciden, el recurso queda bloqueado. SHA-384 es el algoritmo más utilizado para SRI porque equilibra seguridad y tamaño del resumen.
¿Puede revertirse SHA-384 para recuperar la entrada original?
No. SHA-384 es una función unidireccional por diseño. Tiene 384 bits de resistencia a preimagen, lo que significa que no existe ningún método conocido para recuperar la entrada a partir de un resumen SHA-384 más rápido que la búsqueda por fuerza bruta entre 2^384 posibilidades. Sin embargo, las entradas cortas o predecibles (como contraseñas comunes) pueden encontrarse mediante tablas rainbow precomputadas o ataques de diccionario, por lo que las contraseñas deben hashearse con algoritmos dedicados como bcrypt o Argon2.
¿Está SHA-384 soportado en la Web Crypto API?
Sí. Todos los navegadores modernos implementan SHA-384 a través de crypto.subtle.digest('SHA-384', data). Esta es la misma API que usa esta herramienta. También está disponible en Node.js 18+ y Deno. La Web Crypto API devuelve un ArrayBuffer que conviertes a cadena hex mapeando cada byte a su representación hexadecimal de dos caracteres.
¿Cuándo debería usar SHA-384 en lugar de SHA-256?
Usa SHA-384 cuando tu política de seguridad requiera más de 128 bits de resistencia a colisiones, cuando necesites cumplir con CNSA/Suite B para datos clasificados, o cuando ya estés usando AES-256 y quieras un nivel de seguridad de 192 bits equivalente. SHA-384 también es más rápido que SHA-256 en procesadores de 64 bits porque usa operaciones de palabras de 64 bits nativas. Para la mayoría de las aplicaciones web y el hashing de propósito general, SHA-256 sigue siendo la opción estándar.