/hash

Hash-generator

Lag MD5, SHA-1, SHA-256, SHA-384 og SHA-512 av tekst.

Slik fungerer det

En hash er et fast «fingeravtrykk» av inndataene. SHA-funksjonene bruker nettleserens innebygde Web Crypto, mens MD5 beregnes i et lite bibliotek. MD5 og SHM-1 regnes som usikre for kryptografi, men er fortsatt nyttige til sjekksummer.

Om dette verktøyet

Kryptografiske hash-funksjoner gjør vilkårlig tekst eller filer om til en fast lengde «fingeravtrykk» av heksadesimale tegn. Samme input gir alltid samme hash, mens minste endring gir en helt annen verdi. Dette verktøyet beregner MD5, SHA-1, SHA-256, SHA-384 og SHA-512 av teksten din direkte i nettleseren, ingenting sendes til en server. Bruk det til å verifisere at en fil er lastet ned uten korrupsjon, sammenligne to strenger uten å avsløre innholdet, eller lage stabile identifikatorer for caching.

Slik bruker du det

  1. Lim inn eller skriv teksten du vil hashe.
  2. Verktøyet beregner alle hash-varianter samtidig og viser dem som heksadesimale strenger.
  3. Trykk «Kopier» ved siden av valgt algoritme for å legge hashet på utklippstavlen.
  4. For fil-hashing, bruk «Fil-til-base64» + dette verktøyet, eller sammenlign med kommandolinjen (`sha256sum`, `certutil`).

Eksempler

SHA-256 av «hello»
Innhello
Ut2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Én bokstav endres
InnHello
Ut185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
Legg merke til at én stor bokstav gir en helt annen hash. Dette kalles «avalanche-effekt» og er en ønsket egenskap ved sikre hash-funksjoner.

Vanlige bruksområder

  • Sjekksummer for filnedlastinger (verifisere at `.iso`- eller `.zip`-filen ikke ble korrupt).
  • Cache-nøkler basert på innhold (samme input → samme nøkkel).
  • Signering av API-forespørsler (HMAC-SHA-256).
  • Kontrollsummer i git, hver commit identifiseres av en SHA-1-hash.
  • ETag-headere i HTTP for kondisjonelle GET-forespørsler.
  • Verifisere at en tekst ikke er endret siden en tidligere måling.

Ofte stilte spørsmål

Kan jeg reverse-engineere teksten fra en hash?
Nei, hash-funksjoner er enveis. Men *korte* eller *vanlige* input kan gjettes med rainbow tables eller brute force. Derfor bør passord aldri hashes med en «rå» algoritme; bruk bcrypt, scrypt, Argon2 eller PBKDF2 med salt.
Er MD5 eller SHA-1 fortsatt trygge?
Nei, ikke for sikkerhetskritiske formål. Begge har praktisk kollisjonsangrep (Google demonstrerte SHA-1-kollisjon i 2017). Bruk minst SHA-256 for signaturer og integritetssjekker. MD5/SHA-1 er OK for ikke-sikkerhetsformål som cache-nøkler.
Hvorfor skal jeg bruke salt når jeg hasher passord?
Salt er tilfeldige bytes som legges til passordet før hashing, unikt per bruker. Det hindrer at samme passord gir samme hash, gjør rainbow-tables ubrukelige, og tvinger angripere til å knekke hvert passord separat.

Teknisk bakgrunn

SHA-2-familien (SHA-256, SHA-384, SHA-512) er standardisert i NIST FIPS 180-4 og gir henholdsvis 256-, 384- og 512-bits utdata. Nettleseren beregner disse via Web Crypto API (`crypto.subtle.digest`), som er nativt implementert og maskinvareakselerert på moderne CPU-er. MD5 (RFC 1321, 128 bit) er brutt for kollisjoner siden 2004; SHA-1 (RFC 3174, 160 bit) er brutt siden 2017. Nyere alternativer inkluderer SHA-3 (Keccak, FIPS 202) og BLAKE2/BLAKE3 for høyere ytelse.