SHA-256 Hash Generator

Generera SHA-256-hashvärde från vilken text som helst

Inmatningstext

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

SHA-256-hash

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

Vad är SHA-256-hashning?

SHA-256 (Secure Hash Algorithm 256-bit) är en kryptografisk hashfunktion ur SHA-2-familjen, publicerad av NIST 2001 som en del av FIPS 180-2 (uppdaterad i FIPS 180-4). Oavsett indata — ett enstaka tecken, en fil på flera gigabyte eller en tom sträng — producerar SHA-256 ett fast 256-bitars (32-byte) sammandrag, som konventionellt visas som 64 hexadecimala tecken. SHA-256 är den mest utbredd hashfunktionen i produktionssystem idag och utgör grunden för TLS-certifikatkedjor, Bitcoins proof-of-work, Subresource Integrity (SRI) och kodsignerings-arbetsflöden.

SHA-256 är en envägsfunktion: att beräkna ett hashvärde från indata är snabbt (hundratals megabyte per sekund på modern hårdvara), men att reversera processen — att hitta indata som producerar ett givet hashvärde — är beräkningsmässigt ogörbart. Denna egenskap, kallad förebildsresistens, gör SHA-256 lämplig för lösenordshashning (i kombination med ett salt och nyckelsträckning), digitala signaturer och verifiering av dataintegritet. Till skillnad från MD5 och SHA-1 har ingen kollisions- eller förebildsattack påvisats mot fullständig SHA-256.

SHA-2-familjen omfattar sex varianter: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 och SHA-512/256. SHA-256 arbetar med 32-bitars ord och 64 rundor per block, optimerat för 32-bitarsprocessorer. SHA-512 använder 64-bitars ord och 80 rundor, vilket kan vara snabbare på 64-bitarsplattformar. För de flesta tillämpningar där ett 256-bitars sammandrag är tillräckligt är SHA-256 den standardrekommendation som ges av NIST, IETF och CA/Browser Forum.

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

Att generera ett SHA-256-hashvärde kräver normalt ett terminalkommando eller några rader kod. Det här webbläsarbaserade verktyget låter dig beräkna SHA-256-sammandrag utan att installera något, byta kontext eller skriva ett skript.

Omedelbar hashning i din webbläsare
Klistra in eller skriv valfri text och få SHA-256-sammandraget direkt. Web Crypto API hanterar beräkningen inbyggt — utan overhead från externa JavaScript-bibliotek.
🔒
Integritetsfokuserad bearbetning
Din indata lämnar aldrig din enhet. All hashning körs lokalt via webbläsarens inbyggda Web Crypto API. Ingen data skickas till någon server.
📋
Kopieringsklara utdataformat
Hämta hashvärdet i gemener eller versaler med ett klick. Praktiskt när du jämför kontrollsummor från pakethanterare, CI-pipelines eller dokumentation.
🔍
Korskontrollera referensvärden
Verifiera snabbt SHA-256-sammandrag från nedladdningssidor, SBOM-manifest eller granskningsloggar utan att öppna en terminal eller skriva engångskod.

Användningsfall för SHA-256

Frontend-utvecklare — Subresource Integrity
Beräkna SHA-256-hashvärdet för ett CDN-hostat skript eller stilmall för att fylla i integrity-attributet i script- och link-taggar, vilket skyddar mot manipulering i leveranskedjan.
Backend-ingenjör — Signering av API-förfrågningar
Många API:er (AWS Signature V4, Stripe-webhooks) kräver SHA-256-hashvärden av förfrågningens nyttolast. Använd det här verktyget för att beräkna referenshashvärden under utveckling och felsökning.
DevOps — Verifiering av artefakter
Verifiera SHA-256-kontrollsummor för nedladdade binärfiler, Docker-basbilder eller Terraform-leverantörsplugin-program innan du driftsätter i produktionsinfrastruktur.
QA-ingenjör — Validering av testvektorer
Korskontrollera SHA-256-utdata mot NISTs testvektorer (FIPS 180-4-exempel) för att bekräfta att din hashningsimplementering hanterar gränsfall korrekt.
Dataingenjör — Fingeravtryckning på radnivå
Hasha sammansatta nycklar eller PII-fält med SHA-256 för att skapa deterministiska, oåterkalleliga fingeravtryck för deduplicering eller pseudonymisering i datapipelines.
Student — Kryptografikurser
Experimentera med SHA-256 för att observera lavineffekten: ändra ett enstaka tecken i indata och se hur hela 64-teckenutdata förändras oförutsägbart.

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

SHA-256 tillhör SHA-2-familjen som definieras i FIPS 180-4. Varje variant avväger sammandragens storlek, prestandaegenskaper och säkerhetsmarginal. Tabellen nedan jämför alla SHA-2-varianter du sannolikt kommer att stöta på.

VersionSammandragens storlekHex-längdBytestorlekBäst för
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 vs. SHA-1 vs. MD5 vs. SHA-3

Valet av rätt hashalgoritm beror på dina säkerhetskrav och kompatibilitetsbegränsningar. SHA-256 intar den praktiska mittenpositionen: den är säker, universellt stödd (inklusive Web Crypto API) och tillräckligt snabb för de flesta arbetsbelastningar. Jämförelsetabellen nedan täcker de egenskaper som är viktigast när du väljer en hashfunktion.

EgenskapSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

Hur SHA-256 fungerar internt

SHA-256 bearbetar indata i 512-bitars (64-byte) block via en Merkle–Damgård-konstruktion. Algoritmen initialiserar åtta 32-bitars tillståndsord (H0–H7) härledda från bråkdelarna av kvadratrötterna av de första åtta primtalen. Varje block passerar 64 blandningsrundor som använder bitvisa operationer (AND, XOR, NOT, högerrotera, högerskifta) och 64 rundkonstanter härledda från kubrötterna av de första 64 primtalen.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
StegBeskrivning
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

Lavineffekten säkerställer att ett enskilt bitflipp i indata förändrar ungefär 50 % av utdatabitarna. Denna egenskap, kombinerad med 2^128 kollisionsresistens, är anledningen till att SHA-256 förblir baslinerekommendationen för säkerhetskänsliga tillämpningar år 2026.

SHA-256 kodexempel

SHA-256 finns inbyggt i alla större språk och körtidsmiljöer. Web Crypto API tillhandahåller det i webbläsare utan något bibliotek. Exemplen nedan visar verkliga användningsmönster inklusive hantering av Unicode-indata och filhashning.

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

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

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

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

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

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Vanliga frågor

Är SHA-256 fortfarande säker?
Ja. Fram till 2026 har ingen praktisk kollisions-, förebilds- eller andra förebildsattack påvisats mot fullständig SHA-256. NIST, CA/Browser Forum och IETF fortsätter att rekommendera SHA-256 för TLS-certifikat, kodsignering och digitala signaturer. Den teoretiska kollisionsresistensen är 2^128 operationer, långt bortom nuvarande beräkningsgränser.
Vad är skillnaden mellan SHA-256 och SHA-2?
SHA-2 är familjenamnet för sex hashfunktioner: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 och SHA-512/256. SHA-256 är den mest använda medlemmen. När dokumentation säger "använd SHA-2" avses nästan alltid SHA-256 specifikt, såvida inte ett längre sammandrag krävs.
Kan SHA-256 reverseras eller dekrypteras?
Nej. SHA-256 är en envägshashfunktion, inte kryptering. Det finns ingen nyckel och ingen dekrypteringsprocess. Det enda sättet att hitta den ursprungliga indatan är en brute-force- eller ordboksattack, vilket är beräkningsmässigt ogörbart för tillräckligt komplexa indata. För korta eller förutsägbara indata (som vanliga lösenord) finns förberäknade regnbågstabeller, varför lösenordshashning alltid bör använda ett salt och en dedikerad nyckelderivationsfunktion som bcrypt eller Argon2.
Hur jämförs SHA-256 med SHA-3?
SHA-3 (Keccak, FIPS 202) använder en helt annan intern struktur (svamppkonstruktion) än SHA-256 (Merkle–Damgård). Både SHA-256 och SHA-3-256 producerar ett 256-bitars sammandrag och erbjuder likvärdig kollisionsresistens. SHA-3 designades som en reserv ifall SHA-2 bryts, men SHA-2 är fortfarande obruten. SHA-256 har bredare stöd i körtidsmiljöer — Web Crypto API stöder SHA-256 men inte SHA-3.
Är SHA-256 lämplig för hashning av lösenord?
Inte direkt. Ett rått SHA-256-hashvärde av ett lösenord är sårbart för brute-force- och regnbågstabell-attacker eftersom SHA-256 är utformad för att vara snabb. För lagring av lösenord bör du använda en dedikerad nyckelderivationsfunktion som bcrypt, scrypt eller Argon2id, vilka lägger till ett salt och en konfigurerbar arbetsbelastningsfaktor för att bromsa attacker.
Varför använder Bitcoin dubbel SHA-256?
Bitcoin beräknar SHA-256(SHA-256(data)) (känd som hash256) för blockrubriker och transaktions-ID:n. Den dubbla tillämpningen skyddar mot längdutvidgningsattacker, där en angripare lägger till data till ett meddelande och beräknar ett giltigt hashvärde utan att känna till den ursprungliga indatan. Detta är en egenskap hos Merkle–Damgård-hashvärden som enkel SHA-256 inte förhindrar.
Vad är Subresource Integrity (SRI) och hur relaterar SHA-256 till det?
SRI är en W3C-specifikation som låter webbläsare verifiera att en hämtad resurs (skript, stilmall) inte har manipulerats. Du lägger till ett integrity-attribut som innehåller ett Base64-kodat SHA-256- (eller SHA-384/SHA-512-)hashvärde av det förväntade filinnehållet. Webbläsaren beräknar hashvärdet för den nedladdade filen och vägrar att köra den om hashvärdena inte stämmer. SHA-256 är den minsta algoritm som stöds av SRI.