🌐 DA

🔐 Hash Generator

Konverter tekst til forskellige hash-algoritmer. Bruges til verifikation af filintegritet, password-hashing og datavalidering.

Vælg en fil for at generere hash af filindholdet
GUIDE

Laes mere

01

1. Hvad er hash-funktioner

Hash-funktioner er envejsfunktioner, der omdanner data i vilkårlig størrelse til værdier med fast størrelse. De har en avalanche-effekt, hvor selv en lille ændring i input giver en helt anden hash, og det samme input giver altid det samme output. MD5 genererer 128-bit, SHA-1 genererer 160-bit, og SHA-256 genererer 256-bit hashes. Da hashes er envejsfunktioner, der ikke kan dekrypteres, er de ideelle til at verificere integritet, mens de skjuler de oprindelige data. De bruges bredt til verifikation af fil-downloads, lagring af adgangskoder, blockchain, digitale signaturer og meget mere.

02

2. Sammenligning af MD5- og SHA-algoritmer

MD5 er en 128-bit hash udviklet i 1991, meget hurtig, men sårbar over for kollisionsangreb. Alvorlige sikkerhedssårbarheder opdaget i 2004 gør den uegnet til kryptografiske formål, så den bruges kun til filchecksums. SHA-1 er en 160-bit hash, sikrere end MD5, men Googles meddelelse i 2017 om faktiske kollisionscases førte til, at den blev udfaset. SHA-256 er fra SHA-2-familien, genererer 256-bit hashes og er i øjeblikket den mest anvendte standard. Bitcoin bruger også SHA-256. SHA-512 giver højere sikkerhed med 512 bit, men er langsommere. Nye systemer bør bruge SHA-256 eller højere.

03

3. Hash-sikkerhed og sårbarheder

Hash-funktioner har tre hovedkrav til sikkerhed. Først: preimage resistance, det skal være svært at finde det oprindelige input ud fra hash-værdien. For det andet: second preimage resistance, det skal være svært at finde et andet input, der giver samme hash. For det tredje: collision resistance, det skal være svært at finde to forskellige inputs, der giver samme hash. MD5 og SHA-1 har brudt collision resistance, hvilket gør det muligt for angribere bevidst at skabe samme hash. Rainbow table-angreb bruger forudberegnede hash-tabeller til at gå baglæns, men salt kan beskytte imod dette.

04

4. Verifikation af filintegritet

Filhashes er den mest effektive måde at verificere, at downloadede filer ikke er blevet manipuleret med. Softwaredistributionssider leverer officielle hash-værdier sammen med filerne. Brugere beregner filens hash efter download og sammenligner den med den officielle værdi. Selv en forskel på én bit giver en helt anden hash og afslører straks manipulation. Det er vigtigt for Linux ISO-aftryk, open source-software, blockchain-transaktioner osv. Git genererer også SHA-1-hashes for hvert commit for at sikre kodeintegritet. Hash kan opdage skader fra netværksfejl under overførsel af store filer.

05

5. Bedste praksis for password-hashing

Gem aldrig adgangskoder i klartekst i databaser. De bør konverteres til hashes, men simpel MD5 eller SHA-256 er ikke tilstrækkelig. De er sårbare over for rainbow table-angreb. Du skal tilføje salt. Salt er en tilfældig streng, der tilføjes adgangskoden og får samme adgangskode til at give forskellige hashes. Brug desuden langsomme hash-funktioner som bcrypt, scrypt eller Argon2. De forsinker beregningen med vilje for at gøre brute force-angreb sværere. OWASP anbefaler Argon2 som førsteprioritet til password-hashing.

06

6. Rainbow tables og salt

Rainbow tables er enorme databaser med forudberegnede hash-værdier. De gemmer hashes af millioner af almindelige adgangskoder på forhånd og matcher dem mod stjålne hashes for at finde de oprindelige adgangskoder. For eksempel er MD5 af "password123" altid "482c811da5d5b4bc6d497ffa98491e38", så den kan findes med det samme i tabellen. Salt beskytter mod dette. Når man tilføjer en unik tilfældig streng for hver bruger, giver samme adgangskode forskellige hashes. Hashing af "password123" + "x8k2m9" giver en værdi, som ikke findes i rainbow tables. Salt kan gemmes i klartekst i databasen, og hver adgangskode skal bruge forskelligt salt for at være effektiv.

Ofte stillede sporgsmal

Bliver min tekst eller fil sendt til en server?
Nej. Al hashing udføres klient-side i din browser med JavaScript, og intet uploades. Din tekst og dine filer bliver på din enhed.
Kan jeg bruge dette værktøj til at hashe adgangskoder til lagring?
Det anbefaler vi ikke. MD5 og SHA-256 er hurtige hashes, der er sårbare over for brute-force-angreb, så adgangskoder bør i stedet bruge en langsom, specialiseret funktion som bcrypt, scrypt eller Argon2. Dette værktøj egner sig bedst til kontrol af filintegritet og datachecksums.
Hvilken algoritme bør jeg vælge?
Brug SHA-256 eller højere til alt nyt. MD5 og SHA-1 har brudt collision resistance og er uegnede til sikkerhedsformål - behold dem kun for kompatibilitet med ældre systemer.
Hvornår bør jeg bruge HMAC-indstillingen?
HMAC (nøglebaseret hashing) bekræfter, at en besked kommer fra en afsender, som har en bestemt hemmelig nøgle. Brug det, når du har brug for både autentificering og integritet, for eksempel til at signere API-forespørgsler eller verificere webhooks.
Hvorfor giver det samme input nogle gange en anden hash?
For samme algoritme og input er hashen altid identisk, medmindre du har brugt en HMAC-nøgle eller indstillingen for store bogstaver. Hvis dit resultat er anderledes, så tjek for små inputforskelle som ekstra mellemrum eller linjeskift.