Hopp til innholdet
Quaestio

Kontrollsum

Skriv inn en tekst, så regnes kontrollsummene ut med fire algoritmer samtidig.

0 tegn · 0 byte

Kontrollsummer

  • SHA-1160 bit

    Skriv noe i feltet over.

  • SHA-256256 bit

    Skriv noe i feltet over.

  • SHA-384384 bit

    Skriv noe i feltet over.

  • SHA-512512 bit

    Skriv noe i feltet over.

Teksten forlater aldri nettleseren din. Regningen skjer med nettleserens egen kryptofunksjon.

Bygg inn

Bygg inn verktøyet på nettstedet ditt

Kopier koden og lim den inn der verktøyet skal vises, for eksempel i et blogginnlegg eller på en skoleside. Det er gratis, boksen har ingen annonser, og verktøyet regner i besøkerens nettleser.

Slik fungerer det

En kryptografisk kontrollsum gjør en tekst av hvilken som helst lengde om til et fast antall tegn. Samme tekst gir alltid samme sum, mens den minste endring gir en helt annen.

Funksjonen går bare én vei. Det finnes ingen måte å regne tilbake fra summen til teksten, og det er hele poenget med den.

Kontrollsummer brukes til å sammenlikne filer, til å oppdage at noe er endret, og som byggestein i signaturer og sertifikater.

SHA-1 regnes ikke lenger som sikker. Siden 2017 finnes det praktiske måter å lage to ulike tekster med samme SHA-1-sum, så bruk den bare til å sammenlikne mot eldre systemer.

Passord skal ikke lagres med disse funksjonene. De er bygd for å være raske, noe som gjør dem lette å prøve seg gjennom. For passord brukes bevisst trege funksjoner som Argon2id, scrypt og PBKDF2. OWASP anbefaler bcrypt bare i eldre systemer der verken Argon2id eller scrypt finnes.

Teksten kodes som UTF-8 før den regnes ut, slik at æ, ø og å gir samme sum her som i andre korrekte verktøy.

Slik regner verktøyet

Teksten gjøres om til UTF-8 og sendes til nettleserens crypto.subtle.digest, som regner ut SHA-1, SHA-256, SHA-384 og SHA-512 på én gang. Summene skrives med små heksadesimale tegn, to per byte: 40 tegn for SHA-1, 64 for SHA-256, 96 for SHA-384 og 128 for SHA-512. De regnes ut på nytt for hvert tegn du skriver.

Samme byte gir alltid samme sum i alle korrekte verktøy, men samme tekst kan bli ulike byte. Bokstaven ø skrives med to byte i UTF-8, C3 B8, men med én, F8, i den eldre tegnkodingen Latin-1. Blåbær gir derfor en annen sum her enn i et program som regner på Latin-1.

Eksempel

abc gir SHA-256-summen ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, den samme verdien som NIST oppgir i sitt testeksempel for algoritmen. Følges abc av et linjeskift, slik kommandoen echo legger til, blir summen i stedet edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb. Linjeskiftet synes ikke i teksten, men summen blir en annen.

Grensetilfeller

Verktøyet regner på tekst, ikke på filer. Kontrollsummen for en nedlastet fil regnes på filens byte, for eksempel med certutil -hashfile i Windows eller sha256sum i Linux. Å lime inn innholdet i filen gir bare samme sum hvis teksten er den samme byte for byte.

Linjeskift er den vanligste årsaken til at summene er forskjellige. HTML-standarden bestemmer at et tekstfelt gjør alle linjeskift om til bare LF, så tekst fra en fil med Windows-linjeskift, CR LF, får en annen sum her enn i certutil. Mellomrom sist på en linje og et avsluttende linjeskift telles også med.

NIST kunngjorde 15. desember 2022 at SHA-1 skal fases ut innen 31. desember 2030 og erstattes med SHA-2 eller SHA-3. Av funksjonene her hører SHA-256, SHA-384 og SHA-512 til SHA-2.

Kilder

Slik kontrolleres verktøyene