Hash-generator
Generer kryptografiske hasher fra enhver tekst.
Hva er en kryptografisk hash?
En kryptografisk hashfunksjon tar enhver inndata — et enkelt tegn, et dokument eller en hel fil — og produserer en streng med heksadesimale tegn med fast lengde kalt en digest. Den samme inndataen gir alltid den samme hashen, men selv en liten endring i inndataen gir en helt annen utdata. Denne egenskapen kalles lavineffekten.
Hashfunksjoner er enveis: du kan ikke reversere den opprinnelige inndataen fra hashen. Dette gjør dem fundamentalt forskjellige fra kryptering, som er designet for å være reversibel med riktig nøkkel. Hashing brukes til dataintegritetsverifisering, passordlagring, digitale signaturer og mange andre sikkerhetsapplikasjoner.
Støttede hashalgoritmer
- SHA-1: SHA-1 produserer en 160-bits hash (40 heksadesimale tegn). Den var en gang standarden for TLS-sertifikater og Git-commits, men kryptografiske svakheter ble oppdaget i 2017. SHA-1 er nå utgått for sikkerhetsbruk, men brukes fortsatt for ikke-sikkerhetsrelaterte sjekksummer.
- SHA-256: SHA-256 produserer en 256-bits hash (64 heksadesimale tegn). Den er den mest brukte algoritmen i dag og sikrer TLS-tilkoblinger, Bitcoin-transaksjoner, kodesigneringssertifikater og verifisering av programvarepakker.
- SHA-384: SHA-384 produserer en 384-bits hash (96 heksadesimale tegn). Den er en trunkert versjon av SHA-512, ofte brukt i TLS-sertifikatkjeder og HMAC-konstruksjoner der ekstra sikkerhetsmargin er ønskelig.
- SHA-512: SHA-512 produserer en 512-bits hash (128 heksadesimale tegn). Den tilbyr maksimal styrke i SHA-2-familien og kan være raskere enn SHA-256 på 64-bits prosessorer fordi den opererer på 64-bits ord direkte.
Vanlige bruksområder for hashing
- Verifisere filintegritet ved å sammenligne sjekksummer etter nedlasting.
- Lagre passord sikkert i databaser (alltid med et unikt salt per bruker).
- Generere digitale signaturer for dokumenter og programvarepakker.
- Cache-invalidering i webutvikling ved å legge til innholdshasher i filnavn.
- Skape unike innholdsadresserte identifikatorer i distribuerte systemer.
Hashing vs. kryptering
Kryptering er reversibel — du kan dekryptere data med riktig nøkkel. Hashing er en enveisfunksjon — du kan ikke gjenskape den opprinnelige teksten fra en hash. Dette gjør hashing ideell for passord (du trenger bare å verifisere, ikke gjenskape) og integritetssjekker (du trenger bare å oppdage endringer).
Er teksten min sikker?
All hashing bruker nettleserens innebygde Web Crypto API (crypto.subtle). Teksten din sendes aldri til noen server. Web Crypto API er den samme kryptografiske motoren som brukes av HTTPS, noe som sikrer industristerke implementasjoner av hver algoritme.
Ofte stilte spørsmål
Kan to forskjellige inndataer produsere den samme hashen?
Teoretisk ja — dette kalles en kollisjon. For SHA-256 krever det imidlertid omtrent 2¹²⁸ operasjoner å finne en kollisjon, noe som er beregningsmessig umulig med nåværende eller forutsigbar teknologi. SHA-1-kollisjoner har blitt demonstrert, som er grunnen til at den ble avskrevet.
Hvilken hashalgoritme bør jeg bruke?
For de fleste formål er SHA-256 det beste valget. Den tilbyr sterk sikkerhet, bred kompatibilitet og utmerket ytelse. Bruk SHA-512 hvis du trenger ekstra sikkerhetsmargin eller jobber på 64-bits systemer der den kan være raskere. Unngå SHA-1 for enhver sikkerhetssensitiv applikasjon.