SHA-384 Hash Generator

Generera SHA-384-hashvärde från valfri text

Inmatningstext

Körs lokalt · Säkert att klistra in hemligheter

SHA-384-hash

SHA-384-hashvärdet visas här…

Vad är SHA-384-hashning?

SHA-384 är en kryptografisk hashfunktion definierad i NIST FIPS 180-4 som en del av SHA-2-familjen. Den tar emot indata av godtycklig längd och producerar ett fast 384-bitars (48-byte) meddelandesammandrag, som vanligtvis visas som en 96-tecken lång hexadecimal sträng. SHA-384 används allmänt i TLS-krypteringssviter, digitala certifikatsignaturer och myndighetsystem som kräver en högre kollisionsresistansmarginal än vad SHA-256 erbjuder.

Internt är SHA-384 en trunkerad variant av SHA-512. Den använder samma 1024-bitars blockstorlek, 80 kompressionsrundor och 64-bitars ordaritmetik som SHA-512, men startar med en annan uppsättning initiala hashvärden (härledda från de 9:e till 16:e primtalen) och returnerar enbart de första 384 bitarna av sluttillståndet. Denna trunkering innebär att SHA-384 producerar ett annat sammandrag än SHA-512 för identiska indata, trots att de delar samma grundläggande algoritm.

Eftersom SHA-384 arbetar med 64-bitars ord körs det snabbare än SHA-256 på moderna 64-bitarsprocessorer och ger samtidigt ett större sammandrag. Det gör det till ett praktiskt mellanalternativ: starkare än SHA-256 (192-bitars kollisionsresistans mot 128-bitars) utan lagringsbelastningen av SHA-512:s 128-tecken långa hex-utdata. SHA-384 är standardhashfunktionen för TLS 1.3:s certifikatverifieringssignaturer och krävs av NSA Suite B (numera CNSA) för HEMLIG data på högsta nivå.

Varför använda en SHA-384-generator online?

Att generera SHA-384-hashvärden kräver normalt ett terminalkommando eller att man skriver kod. Det här webbläsarbaserade verktyget låter dig beräkna SHA-384-sammandrag direkt utan att installera något eller skicka data till en server. Oavsett om du behöver generera ett SRI-hashvärde för en CDN-tillgång, verifiera en filkontrollsumma eller jämföra SHA-384-utdata mot SHA-256 för samma indata, ger det här verktyget dig ett omedelbart, beroendefritt sätt att arbeta med SHA-384-sammandrag i alla moderna webbläsare.

Omedelbar beräkning i webbläsaren
Klistra in text och få ett 96-tecken långt SHA-384-hashvärde direkt. Web Crypto API hanterar beräkningen inbyggt i din webbläsare utan externa beroenden.
🔒
Integritetsfokuserad hashning
Din indata lämnar aldrig din enhet. All hashning körs lokalt via Web Crypto API — inga serverförfrågningar, ingen loggning, ingen datalagring.
📋
Kopieringsklara utdataformat
Växla mellan gemener och versaler i hex-utdata med ett klick. Kopiera hashvärdet till urklipp för användning i kontrollsummefiler, konfiguration eller dokumentation.
🔍
Inget konto eller installation
Fungerar i alla moderna webbläsare — Chrome, Firefox, Safari, Edge. Ingen registrering, inget tillägg, ingen CLI-konfiguration krävs.

Användningsfall för SHA-384-hashgeneratorn

TLS-certifikatverifiering
TLS 1.2 och 1.3 använder SHA-384 vid verifiering av certifikatsignaturer och i PRF (pseudoslumpfunktion). Beräkna SHA-384-sammandrag för att validera certifikatfingeravtryck mot förväntade värden vid säkerhetsgranskningar.
Subresource Integrity (SRI)
Generera SHA-384-hashvärden för JavaScript- och CSS-filer som laddas från CDN:er. Integrity-attributet i script- och link-taggar använder Base64-kodat SHA-384 som standard i de flesta SRI-generatorer.
Myndighets- och regelefterlevnadssystem
CNSA (tidigare NSA Suite B) kräver SHA-384 för att skydda sekretessbelagd information. Generera hashvärden för att verifiera dokumentintegritet i regelefterlevnadsflöden som kräver FIPS 180-4-algoritmer.
Kontroll av filintegritet
Beräkna SHA-384-kontrollsummor för firmware-avbilder, programvaruutgåvor eller konfigurationsfiler. Jämför hashvärdet före och efter överföring för att upptäcka korruption eller manipulering.
HMAC-SHA384-nyckelderivation
SHA-384 kombineras med HMAC för meddelandeautentisering i protokoll som IPsec och TLS. Använd det här verktyget för att verifiera förväntade hashvärden vid felsökning av HMAC-SHA384-implementeringar.
Kryptografiövningar i akademin
Studenter som studerar SHA-2-familjen kan jämföra SHA-384-utdata mot SHA-256 och SHA-512 för samma indata och observera hur olika initialvektorer och trunkering ger distinkta sammandrag.

Jämförelse av SHA-2-familjens varianter

SHA-384 tillhör SHA-2-familjen tillsammans med flera andra varianter. Tabellen nedan visar hur de skiljer sig åt i sammandragens storlek, utdatalängd och typiska användningsområden.

VersionSammandragHex-längdBytestorlekBäst för
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

Valet mellan SHA-384 och andra hashalgoritmer beror på dina säkerhetskrav, plattformsbegränsningar och prestandabehov. Den här jämförelsen täcker de mest relevanta egenskaperna.

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

Hur SHA-384 fungerar internt

SHA-384 bearbetar indata via samma Merkle–Damgård-konstruktion som SHA-512. Indatan fylls ut till en multipel av 1024 bitar, delas upp i block och varje block bearbetas genom 80 blandningsrundor med funktionerna Ch, Maj och två Sigma-funktioner med 64-bitars ordaritmetik. Den avgörande skillnaden från SHA-512 är de initiala hashvärdena: SHA-384 använder värden härledda från bråkdelarna av kvadratrötterna av de 9:e till 16:e primtalen, medan SHA-512 använder de första 8 primtalen. När alla block har bearbetats trunkerar SHA-384 det 512-bitars interna tillståndet till de första 384 bitarna.

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

Trunkering och olika initialisering innebär att SHA-384 och SHA-512 alltid producerar olika sammandrag för samma indata. Det gör också SHA-384 naturligt resistent mot längdutvidgningsattacker, till skillnad från SHA-256 och SHA-512 där en angripare kan lägga till data och beräkna ett giltigt hashvärde utan att känna till det ursprungliga meddelandet.

SHA-384 kodexempel

SHA-384 finns inbyggt i alla större språk och körtidsmiljöer. Nedan finns fungerande exempel som du kan kopiera direkt till dina projekt.

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

Vanliga frågor

Vad är skillnaden mellan SHA-384 och SHA-512?
SHA-384 och SHA-512 använder samma kompressionsfunktion, blockstorlek (1024 bitar) och antal rundor (80). De skiljer sig på två sätt: SHA-384 startar med andra initiala hashvärden (härledda från primtalen 9–16 i stället för 1–8), och returnerar enbart de första 384 bitarna av det 512-bitars interna tillståndet. Det innebär att de alltid producerar olika sammandrag för samma indata.
Är SHA-384 säkrare än SHA-256?
SHA-384 ger 192 bitars kollisionsresistans jämfört med SHA-256:s 128 bitar, baserat på födelseattacksgränsen på hälften av sammandragens längd. För förebildsresistans erbjuder SHA-384 384 bitar mot 256 bitar. I praktiken anses båda vara säkra för nuvarande hotmodeller, men SHA-384 ger en större säkerhetsmarginal för långsiktig dataskydd och krävs av vissa myndighetsstandarder.
Varför använder TLS SHA-384 i stället för SHA-512?
TLS-krypteringssviter som TLS_AES_256_GCM_SHA384 använder SHA-384 eftersom det ger tillräcklig kollisionsresistans (192 bitar) och håller sammandragens storlek hanterbar. SHA-512:s 128-tecken långa hex-utdata lägger till overhead i handskakningsmeddelanden och certifikatkedjor utan proportionell säkerhetsvinst för TLS:s användningsfall. SHA-384 stämmer också överens med den 192-bitars säkerhetsnivå som AES-256 siktar på.
Hur används SHA-384 i Subresource Integrity (SRI)?
SRI-taggar i HTML använder formatet integrity="sha384-{base64hash}" för att verifiera att skript och stilmallar hämtade från CDN:er inte har ändrats. Webbläsaren beräknar SHA-384-hashvärdet för den nedladdade filen och jämför det med det förväntade värdet. Om de inte stämmer blockeras resursen. SHA-384 är den mest använda algoritmen för SRI eftersom den balanserar säkerhet och sammandragens storlek.
Kan SHA-384 reverseras för att återfå ursprunglig indata?
Nej. SHA-384 är en envägsfunktion. Det har 384 bitars förebildsresistans, vilket innebär att det inte finns någon känd metod för att återfå indatan från ett SHA-384-sammandrag snabbare än en brute-force-sökning över 2^384 möjligheter. Korta eller förutsägbara indata (som vanliga lösenord) kan dock hittas med förberäknade regnbågstabeller eller ordboksattacker, varför lösenord bör hashas med dedikerade algoritmer som bcrypt eller Argon2.
Stöds SHA-384 i Web Crypto API?
Ja. Alla moderna webbläsare implementerar SHA-384 via crypto.subtle.digest('SHA-384', data). Det är samma API som används av det här verktyget. Det finns även tillgängligt i Node.js 18+ och Deno. Web Crypto API returnerar ett ArrayBuffer som du konverterar till en hex-sträng genom att mappa varje byte till dess tvåteckens hexadecimala representation.
När bör jag använda SHA-384 i stället för SHA-256?
Använd SHA-384 när din säkerhetspolicy kräver mer än 128 bitars kollisionsresistans, när du behöver uppfylla CNSA/Suite B för sekretessbelagd data, eller när du redan använder AES-256 och vill ha en matchande 192-bitars säkerhetsnivå. SHA-384 körs också snabbare än SHA-256 på 64-bitarsprocessorer tack vare inbyggda 64-bitars ordoperationer. För de flesta webbapplikationer och generell hashning är SHA-256 fortfarande standardvalet.