Utilia

Hash-generator

Lag MD5-, SHA-1-, SHA-256- og SHA-512-hasher av tekst eller filer i alle størrelser, og kontroller sjekksummer. Alt kjører i nettleseren din.

Hash
Teksten kodes som UTF-8.
Algoritmer

Slik bruker du hash-generatoren

  1. Under Hash velger du Tekst eller Filer.
  2. For tekst skriver eller limer du den inn i Tekst som skal hashes. Hashene oppdateres mens du skriver, og knappen Hash beregner dem på nytt ved behov.
  3. For filer slipper du én eller flere filer i slippfeltet, eller klikker på det for å velge dem. En fremdriftslinje vises for store filer, med en Avbryt-knapp.
  4. Velg Algoritmer du trenger (MD5, SHA-1, SHA-256, SHA-512) og Utdataformat: heksadesimal med små bokstaver, heksadesimal med store bokstaver eller Base64.
  5. For å kontrollere en nedlasting limer du den publiserte sjekksummen inn i Sammenlign med en forventet hash (valgfritt). Verktøyet forteller hvilken algoritme som samsvarer, eller at ingen gjør det.

Hva er en hash?

En kryptografisk hashfunksjon gjør alle inndata, enten det er ett ord eller et diskbilde på 50 GB, om til et kort fingeravtrykk med fast størrelse. De samme inndataene gir alltid samme hash, og endrer du én eneste bit i inndataene, endres resultatet fullstendig. Du kan ikke reversere en hash for å få inndataene tilbake.

Algoritme Utdatastørrelse Heksadesimal lengde Status
MD5 128 biter 32 tegn Brutt: bare til sjekksummer
SHA-1 160 biter 40 tegn Brutt: kollisjoner påvist i 2017
SHA-256 256 biter 64 tegn Sikker, dagens standard
SHA-512 512 biter 128 tegn Sikker, ofte raskere på 64-bits prosessorer

SHA-256-hashen av abc er for eksempel ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Kontroller en nedlasting

Programvareutgivere oppgir ofte en SHA-256-sjekksum ved siden av filene sine. Etter nedlasting åpner du modusen Filer, slipper filen og limer den publiserte verdien inn i sammenligningsfeltet. Et samsvar beviser at filen ikke ble skadet under nedlastingen, og at den er identisk med den utgiveren hashet. Det beviser ikke at utgiveren er til å stole på. Da må selve sjekksummen komme fra en pålitelig kilde, for eksempel et nettsted med HTTPS eller en signert utgivelse.

Slik håndteres store filer

Filer leses lokalt og lastes aldri opp. Filer på opptil 64 MB hashes i én omgang med nettleserens innebygde Web Crypto API. Større filer leses i biter på 4 MB og mates inn i inkrementelle hashfunksjoner, slik at minnebruken holder seg lav og filer på flere gigabyte kan hashes. På en vanlig datamaskin kan du regne med noen hundre megabyte i sekundet for SHA-256.

Tekst, tegnkoding og linjeskift

En hash beregnes over byte, ikke tegn. Dette verktøyet koder tekst som UTF-8, standarden på nettet og i de fleste programmeringsspråk. Hvis du får et annet resultat et annet sted, bør du se etter skjulte forskjeller: et linjeskift på slutten (echo "abc" | sha256sum hasher abc\n, så bruk echo -n), Windows-linjeskift (\r\n) eller en annen koding som UTF-16. Norske tegn som æ, ø og å tar to byte hver i UTF-8, og gir en annen hash i en annen koding som Latin-1.

Ofte stilte spørsmål

Kan jeg bruke MD5 eller SHA-1 til å lagre passord?

Nei, og heller ikke vanlig SHA-256. Disse funksjonene er laget for å være raske, så en angriper kan teste milliarder av gjetninger i sekundet. Passord trenger en treg algoritme med salt, som Argon2, bcrypt eller scrypt.

Er MD5 fortsatt nyttig?

Ja, til å oppdage utilsiktet skade, fjerne duplikater eller sammenligne med en gammel sjekksumliste. Du må ikke stole på den mot bevisst manipulasjon, fordi hvem som helst kan lage to ulike filer med samme MD5.

Lastes filene mine opp?

Nei. Filene leses og hashes av nettleseren din. Ingenting sendes til en server, så du kan hashe fortrolige dokumenter.

Hvorfor samsvarer ikke hashen min med den fra kommandolinjen?

Inndataene er nesten alltid ulike: et linjeskift på slutten, mellomrom, linjeskifttyper eller tegnkoding. For filer må du sørge for at nedlastingen er fullført. Én manglende byte gir en helt annen hash.

Hva er forskjellen på heksadesimal og Base64 som utdata?

Det er to måter å skrive de samme bytene på. Heksadesimal er det vanlige formatet for sjekksummer. Base64 er kortere og brukes for eksempel i Subresource Integrity-attributter (sha256-…). Sammenligningsfeltet godtar begge deler.