Gerador de Hash SHA-384

Gere hash SHA-384 de qualquer texto

Texto de Entrada

Roda localmente · Seguro para colar segredos

Hash SHA-384

O hash SHA-384 aparecerá aqui…

O que é o Hashing SHA-384?

SHA-384 é uma função de hash criptográfico definida no NIST FIPS 180-4 como parte da família SHA-2. Ela aceita uma entrada de comprimento arbitrário e produz um resumo de mensagem fixo de 384 bits (48 bytes), normalmente exibido como uma string hexadecimal de 96 caracteres. O SHA-384 é amplamente utilizado em conjuntos de cifras TLS, assinaturas de certificados digitais e sistemas governamentais que exigem uma margem de resistência a colisões maior do que a oferecida pelo SHA-256.

Internamente, o SHA-384 é uma variante truncada do SHA-512. Ele usa o mesmo tamanho de bloco de 1024 bits, 80 rodadas de compressão e aritmética de palavras de 64 bits do SHA-512, mas começa com um conjunto diferente de valores de hash iniciais (derivados do 9º ao 16º números primos) e gera apenas os primeiros 384 bits do estado final. Esse truncamento faz com que o SHA-384 produza um resumo diferente do SHA-512 para entradas idênticas, apesar de compartilharem o mesmo algoritmo central.

Como o SHA-384 opera com palavras de 64 bits, ele é mais rápido que o SHA-256 em processadores modernos de 64 bits, ao mesmo tempo em que entrega um resumo maior. Isso o torna um meio-termo prático: mais forte que o SHA-256 (192 bits de resistência a colisões vs. 128 bits) sem o custo de armazenamento da saída hex de 128 caracteres do SHA-512. O SHA-384 é o hash padrão para assinaturas de verificação de certificados no TLS 1.3 e é exigido pelo NSA Suite B (agora CNSA) para dados TOP SECRET.

Por que usar um gerador SHA-384 online?

Gerar hashes SHA-384 normalmente requer um comando de terminal ou a escrita de código. Esta ferramenta no navegador permite calcular resumos SHA-384 instantaneamente sem instalar nada nem enviar dados a um servidor. Seja para gerar um hash SRI para um recurso de CDN, verificar o checksum de um arquivo ou comparar a saída do SHA-384 com a do SHA-256 para a mesma entrada, esta ferramenta oferece uma forma imediata e sem dependências de trabalhar com resumos SHA-384 em qualquer navegador moderno.

Computação instantânea no navegador
Cole o texto e obtenha um hash SHA-384 de 96 caracteres imediatamente. A Web Crypto API realiza o cálculo de forma nativa no seu navegador, sem dependências externas.
🔒
Hashing com privacidade garantida
Sua entrada nunca sai do seu dispositivo. Todo o hashing é executado localmente via Web Crypto API — sem requisições a servidores, sem registro de logs, sem retenção de dados.
📋
Formatos de saída prontos para copiar
Alterne entre saída hex em minúsculas e maiúsculas com um clique. Copie o hash para a área de transferência para uso em arquivos de checksum, configurações ou documentação.
🔍
Sem cadastro ou instalação
Funciona em qualquer navegador moderno — Chrome, Firefox, Safari, Edge. Sem cadastro, sem extensão, sem configuração de CLI necessária.

Casos de uso do Gerador de Hash SHA-384

Verificação de Certificados TLS
O TLS 1.2 e 1.3 usam SHA-384 na verificação de assinaturas de certificados e na PRF (função pseudoaleatória). Calcule resumos SHA-384 para validar impressões digitais de certificados em relação a valores esperados durante auditorias de segurança.
Subresource Integrity (SRI)
Gere hashes SHA-384 para arquivos JavaScript e CSS carregados de CDNs. O atributo integrity nas tags script e link usa SHA-384 codificado em Base64 por padrão na maioria dos geradores de SRI.
Sistemas Governamentais e de Conformidade
A CNSA (anteriormente NSA Suite B) exige SHA-384 para proteger informações classificadas. Gere hashes para verificar a integridade de documentos em fluxos de trabalho de conformidade que requerem algoritmos FIPS 180-4.
Verificação de Integridade de Arquivos
Calcule checksums SHA-384 para imagens de firmware, versões de software ou arquivos de configuração. Compare o hash antes e depois da transferência para detectar corrupção ou adulteração.
Derivação de Chave com HMAC-SHA384
O SHA-384 se combina com HMAC para autenticação de mensagens em protocolos como IPsec e TLS. Use esta ferramenta para verificar saídas de hash esperadas ao depurar implementações de HMAC-SHA384.
Exercícios Acadêmicos de Criptografia
Estudantes que estudam a família SHA-2 podem comparar a saída do SHA-384 com a do SHA-256 e SHA-512 para a mesma entrada e observar como diferentes vetores iniciais e truncamentos produzem resumos distintos.

Comparação das Variantes da Família SHA-2

O SHA-384 pertence à família SHA-2 junto com diversas outras variantes. A tabela abaixo mostra como elas diferem em tamanho de resumo, comprimento de saída e aplicações típicas.

VarianteResumoComprimento HexBytesMelhor 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

A escolha entre o SHA-384 e outros algoritmos de hash depende dos seus requisitos de segurança, restrições de plataforma e necessidades de desempenho. Esta comparação abrange as propriedades mais relevantes.

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

Como o SHA-384 Funciona Internamente

O SHA-384 processa a entrada por meio da mesma construção de Merkle–Damgård do SHA-512. A entrada é preenchida até ser um múltiplo de 1024 bits, dividida em blocos, e cada bloco é processado por 80 rodadas de mistura usando as funções Ch, Maj e duas funções Sigma com aritmética de palavras de 64 bits. A principal diferença em relação ao SHA-512 está nos valores de hash iniciais: o SHA-384 usa valores derivados das partes fracionárias das raízes quadradas do 9º ao 16º número primo, enquanto o SHA-512 usa os 8 primeiros primos. Após o processamento de todos os blocos, o SHA-384 trunca o estado interno de 512 bits para seus primeiros 384 bits.

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

O truncamento e a inicialização diferente fazem com que o SHA-384 e o SHA-512 produzam sempre resumos diferentes para a mesma entrada. Isso também torna o SHA-384 inerentemente resistente a ataques de extensão de comprimento, ao contrário do SHA-256 e do SHA-512, onde um atacante pode acrescentar dados e calcular um hash válido sem conhecer a mensagem original.

Exemplos de Código SHA-384

O SHA-384 é suportado nativamente em todas as principais linguagens e runtimes. Abaixo estão exemplos funcionais que você pode copiar diretamente para seus projetos.

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

Perguntas Frequentes

Qual é a diferença entre SHA-384 e SHA-512?
SHA-384 e SHA-512 usam a mesma função de compressão, tamanho de bloco (1024 bits) e número de rodadas (80). Eles diferem em dois aspectos: o SHA-384 começa com valores de hash iniciais diferentes (derivados dos primos 9 a 16, em vez de 1 a 8) e gera apenas os primeiros 384 bits do estado interno de 512 bits. Isso significa que eles sempre produzem resumos diferentes para a mesma entrada.
O SHA-384 é mais seguro que o SHA-256?
O SHA-384 oferece 192 bits de resistência a colisões em comparação com os 128 bits do SHA-256, com base no limite do birthday attack de metade do comprimento do resumo. Para resistência a pré-imagem, o SHA-384 oferece 384 bits vs. 256 bits. Na prática, ambos são considerados seguros para os modelos de ameaça atuais, mas o SHA-384 fornece uma margem de segurança maior para proteção de dados a longo prazo e é exigido por alguns padrões governamentais.
Por que o TLS usa SHA-384 em vez de SHA-512?
Conjuntos de cifras TLS como TLS_AES_256_GCM_SHA384 usam SHA-384 porque ele fornece resistência a colisões suficiente (192 bits) mantendo os tamanhos de resumo gerenciáveis. A saída hex de 128 caracteres do SHA-512 adiciona overhead nas mensagens de handshake e nas cadeias de certificados sem um benefício de segurança proporcional para o caso de uso do TLS. O SHA-384 também se alinha ao nível de segurança de 192 bits almejado pelo AES-256.
Como o SHA-384 é usado na Subresource Integrity (SRI)?
Tags SRI em HTML usam o formato integrity="sha384-{base64hash}" para verificar que scripts e folhas de estilos obtidos de CDNs não foram modificados. O navegador calcula o hash SHA-384 do arquivo baixado e o compara com o valor esperado. Se não corresponderem, o recurso é bloqueado. O SHA-384 é o algoritmo mais comumente usado para SRI porque equilibra segurança e tamanho de resumo.
O SHA-384 pode ser revertido para recuperar a entrada original?
Não. O SHA-384 é uma função unidirecional por design. Ele tem 384 bits de resistência a pré-imagem, o que significa que não há nenhum método conhecido para recuperar a entrada a partir de um resumo SHA-384 mais rápido do que uma busca por força bruta sobre 2^384 possibilidades. No entanto, entradas curtas ou previsíveis (como senhas comuns) podem ser encontradas usando rainbow tables pré-calculadas ou ataques de dicionário, razão pela qual as senhas devem ser protegidas com algoritmos dedicados como bcrypt ou Argon2.
O SHA-384 é suportado na Web Crypto API?
Sim. Todos os navegadores modernos implementam o SHA-384 por meio de crypto.subtle.digest('SHA-384', data). Esta é a mesma API usada por esta ferramenta. Também está disponível no Node.js 18+ e no Deno. A Web Crypto API retorna um ArrayBuffer que você converte em uma string hex mapeando cada byte para sua representação hexadecimal de dois caracteres.
Quando devo usar SHA-384 em vez de SHA-256?
Use SHA-384 quando sua política de segurança exigir mais de 128 bits de resistência a colisões, quando precisar de conformidade com CNSA/Suite B para dados classificados ou quando já estiver usando AES-256 e quiser um nível de segurança correspondente de 192 bits. O SHA-384 também é mais rápido que o SHA-256 em processadores de 64 bits porque usa operações nativas de palavras de 64 bits. Para a maioria das aplicações web e hashing de uso geral, o SHA-256 continua sendo a escolha padrão.