{"id":13,"date":"2026-06-10T09:12:42","date_gmt":"2026-06-10T09:12:42","guid":{"rendered":"https:\/\/shattered.io\/dk\/2026\/06\/10\/sha-256\/"},"modified":"2026-06-10T13:35:45","modified_gmt":"2026-06-10T13:35:45","slug":"sha-256","status":"publish","type":"post","link":"https:\/\/shattered.io\/dk\/2026\/06\/10\/sha-256\/","title":{"rendered":"SHA-256 forklaret: hj\u00f8rnestenen i moderne hashing"},"content":{"rendered":"<h2 id=\"hvad-er-sha-256\">Hvad er SHA-256?<\/h2>\n<p>SHA-256 er en kryptografisk hashfunktion, der tager et input af vilk\u00e5rlig st\u00f8rrelse og frembringer et fingeraftryk p\u00e5 pr\u00e6cis 256 bit. Den h\u00f8rer til SHA-2-familien, en gruppe af hashfunktioner udviklet med medvirken fra det amerikanske standardiseringsorgan NIST. Tallet 256 henviser til l\u00e6ngden af resultatet, og det skrives typisk som 64 hexadecimale tegn.<\/p>\n<p>SHA-256 er i dag en af de mest udbredte hashfunktioner overhovedet. Den dukker op i TLS-certifikater, i softwaresignering, i Bitcoin og i utallige v\u00e6rkt\u00f8jer til at kontrollere, om en fil er u\u00e6ndret. Hvor den \u00e6ldre SHA-1 er blevet udfaset, fordi det er blevet praktisk muligt at fremstille kollisioner, anses SHA-256 fortsat for sikker til praktisk brug.<\/p>\n<h2 id=\"hvor-sha-256-sidder-i-sha-2\">Hvor SHA-256 sidder i SHA-2<\/h2>\n<p>Det er let at blande SHA-1, SHA-2 og SHA-3 sammen, men de er adskilte ting:<\/p>\n<ul>\n<li><strong>SHA-1<\/strong> giver et 160-bit hash og betragtes nu som usikker.<\/li>\n<li><strong>SHA-2<\/strong> er en familie med flere varianter, blandt andet SHA-224, SHA-256, SHA-384 og SHA-512. Tallet angiver l\u00e6ngden af resultatet. SHA-256 er den mest brugte.<\/li>\n<li><strong>SHA-3<\/strong> er en nyere standard bygget p\u00e5 en helt anden intern konstruktion, og den fungerer som et selvst\u00e6ndigt alternativ snarere end en efterf\u00f8lger til SHA-2.<\/li>\n<\/ul>\n<p>SHA-256 er alts\u00e5 \u00e9t bestemt medlem af SHA-2-familien, valgt fordi 256 bit giver en god balance mellem sikkerhed og effektivitet for de fleste form\u00e5l. Den st\u00f8rre 256-bit digest g\u00f8r kollisionsangreb dramatisk sv\u00e6rere end mod SHA-1, fordi antallet af mulige hashv\u00e6rdier vokser eksplosivt med hver ekstra bit.<\/p>\n<p>Det er vigtigt at forst\u00e5, at flere bit ikke kun betyder lidt mere sikkerhed. Hver ekstra bit fordobler antallet af mulige hashv\u00e6rdier. Spranget fra 160 bit i SHA-1 til 256 bit i SHA-256 betyder derfor, at m\u00e6ngden af mulige fingeraftryk er astronomisk meget st\u00f8rre. Det giver i sig selv en betydelig margen mod kollisionsangreb, og kombineret med en mere modstandsdygtig intern konstruktion er det en stor del af grunden til, at SHA-256 har holdt, hvor SHA-1 faldt.<\/p>\n<h2 id=\"hvordan-sha-256-opfoerer-sig\">Hvordan SHA-256 opf\u00f8rer sig<\/h2>\n<p>Man beh\u00f8ver ikke kende algoritmens indre maskineri for at forst\u00e5, hvad den g\u00f8r, og hvorfor den er nyttig. Det interessante er dens udadtil observerbare adf\u00e6rd.<\/p>\n<h3 id=\"deterministisk\">Deterministisk<\/h3>\n<p>Det samme input giver altid det samme output. Hasher du den samme fil to gange p\u00e5 to forskellige maskiner, f\u00e5r du den samme 256-bit v\u00e6rdi. Det er denne forudsigelighed, der g\u00f8r det muligt at bruge hashet som et stabilt fingeraftryk.<\/p>\n<h3 id=\"lavineeffekt\">Lavineeffekt<\/h3>\n<p>\u00c6ndrer du blot en enkelt bit i inputtet, \u00e6ndrer omkring halvdelen af bittene i outputtet sig, og det nye hash ser fuldst\u00e6ndig urelateret ud. To n\u00e6sten ens filer giver alts\u00e5 to vidt forskellige hash. Det betyder, at man ikke kan slutte noget om, hvor lig to input er, ved at sammenligne deres hash. Enten er de identiske og giver samme hash, eller ogs\u00e5 er de forskellige og giver hash, der ikke ligner hinanden.<\/p>\n<h3 id=\"modstand-mod-preimage\">Modstand mod preimage<\/h3>\n<p>Givet et hash skal det i praksis v\u00e6re umuligt at regne bagl\u00e6ns og finde et input, der frembringer netop det hash. Funktionen er med andre ord enkelt at beregne forl\u00e6ns, men i praksis umulig at vende om. Det er denne egenskab, der g\u00f8r det forsvarligt at offentligg\u00f8re et hash uden at afsl\u00f8re det underliggende data.<\/p>\n<h3 id=\"modstand-mod-kollisioner\">Modstand mod kollisioner<\/h3>\n<p>Det skal v\u00e6re praktisk umuligt at finde to forskellige input, der giver det samme 256-bit hash. Med en s\u00e5 lang digest er antallet af mulige v\u00e6rdier s\u00e5 enormt, at et kollisionsangreb mod SHA-256 ligger langt uden for, hvad nogen kan udf\u00f8re med kendt teknologi. Det er pr\u00e6cis denne egenskab, SHA-1 mistede, og som SHA-256 stadig holder p\u00e5.<\/p>\n<p>Det er v\u00e6rd at understrege, at disse egenskaber beskrives p\u00e5 et begrebsligt plan. SHA-256 arbejder internt i runder over blokke af data, men de pr\u00e6cise tekniske trin er ikke det, der g\u00f8r funktionen forst\u00e5elig i praksis. Det vigtige er, at den opf\u00f8rer sig deterministisk, spreder \u00e6ndringer aggressivt og modst\u00e5r b\u00e5de preimage- og kollisionsangreb.<\/p>\n<p>P\u00e5 et helt overordnet niveau virker funktionen ved at l\u00e6se inputtet ind i faste blokke og blande dem gennem en r\u00e6kke interne runder, hvor data l\u00f8bende kombineres og omrokeres. Resultatet af hver blok f\u00f8res videre til den n\u00e6ste, s\u00e5 hele inputtet til sidst p\u00e5virker det f\u00e6rdige hash. Det er denne gentagne blanding, der giver lavineeffekten og g\u00f8r det praktisk umuligt at styre, hvilket hash et bestemt input ender med. Man beh\u00f8ver dog ikke kende disse trin i detaljer for at bruge funktionen korrekt. Det afg\u00f8rende er adf\u00e6rden udadtil, ikke den interne mekanik.<\/p>\n<h2 id=\"hvor-sha-256-bruges\">Hvor SHA-256 bruges<\/h2>\n<p>SHA-256 er ikke en akademisk kuriositet. Den er en arbejdshest, der holder konkrete systemer sikre hver dag.<\/p>\n<h3 id=\"tls-certifikater\">TLS-certifikater<\/h3>\n<p>N\u00e5r din browser opretter en sikker forbindelse til en hjemmeside, indg\u00e5r hashing i valideringen af serverens certifikat. SHA-256 bruges til at sikre, at certifikatet ikke er blevet \u00e6ndret, og er en del af k\u00e6den af tillid, der g\u00f8r, at h\u00e6ngel\u00e5sen i adresselinjen betyder noget. Da SHA-1 blev udfaset i certifikater, var SHA-256 det naturlige skridt op.<\/p>\n<h3 id=\"softwaresignering\">Softwaresignering<\/h3>\n<p>Udgivere af software signerer deres programmer, s\u00e5 du kan kontrollere, at de stammer fra den rette kilde og ikke er blevet manipuleret. I praksis signeres et hash af softwaren, og her er SHA-256 et almindeligt valg. Hvis bare en enkelt byte i programmet \u00e6ndres efter signeringen, passer hashet ikke l\u00e6ngere, og manipulationen afsl\u00f8res.<\/p>\n<h3 id=\"bitcoins-proof-of-work\">Bitcoins proof-of-work<\/h3>\n<p>Bitcoin bygger i h\u00f8j grad p\u00e5 SHA-256. Minere konkurrerer om at finde et input, der hashet med SHA-256 giver et resultat under en bestemt gr\u00e6nse. Eftersom man ikke kan regne bagl\u00e6ns, er den eneste vej frem at pr\u00f8ve sig frem med enorme m\u00e6ngder fors\u00f8g. Denne sv\u00e6re, men let kontrollerbare opgave er kernen i, hvordan netv\u00e6rket bliver enigt om transaktionernes r\u00e6kkef\u00f8lge og modst\u00e5r forfalskning.<\/p>\n<h3 id=\"filintegritet\">Filintegritet<\/h3>\n<p>N\u00e5r du henter en fil, offentligg\u00f8r udgiveren ofte dens SHA-256-hash. Du beregner selv hashet af din kopi og sammenligner. Er de ens, er filen intakt. Er de forskellige, er filen enten beskadiget under overf\u00f8rslen eller blevet \u00e6ndret. Det er en enkel, men effektiv kontrol, der bygger direkte p\u00e5 funktionens determinisme og kollisionsmodstand.<\/p>\n<h3 id=\"versionsstyring-og-datastrukturer\">Versionsstyring og datastrukturer<\/h3>\n<p>SHA-256 og besl\u00e6gtede funktioner bruges ogs\u00e5 til at give data en stabil identitet. I systemer, der skal kunne genkende, om to indholdsdele er ens, kan man bruge et hash som en kompakt n\u00f8gle: samme indhold giver samme hash, forskelligt indhold giver forskellige hash. Det g\u00f8r det muligt at sammenligne og opsl\u00e5 store datam\u00e6ngder uden at gennemg\u00e5 dem byte for byte hver gang. Denne id\u00e9 g\u00e5r igen i alt fra arkivsystemer til distribuerede databaser, og den fungerer netop, fordi hashet opf\u00f8rer sig deterministisk og spreder \u00e6ndringer kraftigt.<\/p>\n<h2 id=\"hvorfor-sha-256-stadig-holder\">Hvorfor SHA-256 stadig holder<\/h2>\n<p>SHA-1 faldt, fordi dens 160-bit digest og interne svagheder til sidst gjorde et kollisionsangreb praktisk gennemf\u00f8rligt for en velfinansieret akt\u00f8r. SHA-256 har en markant st\u00f8rre digest og er ikke ramt af tilsvarende kendte praktiske angreb. Det g\u00f8r den til et fornuftigt standardvalg i dag.<\/p>\n<p>Samtidig g\u00e6lder den samme l\u00e6re som altid i kryptografi: ingen algoritme er garanteret sikker for evigt. Regnekraften vokser, og analysemetoderne bliver bedre. Derfor findes der allerede st\u00e6rkere alternativer som SHA-512 og den nyere SHA-3, klar til brug, hvis behovet skulle opst\u00e5. Lige nu er SHA-256 dog et solidt og bredt anbefalet fundament for hashing, og det er grunden til, at den findes overalt, hvor digital tillid skal sikres.<\/p>\n<div class=\"shat-sources\">\n<h2 id=\"kilder\">Kilder<\/h2>\n<ul>\n<li><a href=\"https:\/\/csrc.nist.gov\/pubs\/fips\/180-4\/upd1\/final\" rel=\"noopener\" target=\"_blank\">NIST FIPS 180-4: Secure Hash Standard<\/a><\/li>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc6234\" rel=\"noopener\" target=\"_blank\">RFC 6234: US Secure Hash Algorithms<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"shat-related\">\n<h2 id=\"relaterede-artikler\">Relaterede artikler<\/h2>\n<ul>\n<li><a href=\"https:\/\/shattered.io\/dk\/cryptography\/digitale-signaturer\/\">Digitale signaturer: hvordan hashing og n\u00f8gler skaber tillid<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/dk\/cryptography\/sha1-kollision\/\">SHA-1-kollisionen: da SHAttered br\u00f8d en hashfunktion i 2017<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/dk\/cryptography\/hashfunktioner\/\">Hashfunktioner: egenskaber, form\u00e5l og praktisk brug<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/dk\/cryptography\/\">Kryptografi: hashfunktioner, SHA og digital tillid<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hvad er SHA-256? SHA-256 er en kryptografisk hashfunktion, der tager et input af vilk\u00e5rlig st\u00f8rrelse og frembringer et fingeraftryk p\u00e5 pr\u00e6cis 256 bit. Den h\u00f8rer til SHA-2-familien, en gruppe af\u2026<\/p>\n","protected":false},"author":2,"featured_media":22,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-13","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":2,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/posts\/13\/revisions\/44"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/media\/22"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/dk\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}