Spring til indholdet
Quaestio

Kontrolsum

Skriv en tekst, så beregnes kontrolsummerne med fire algoritmer på én gang.

0 tegn · 0 byte

Kontrolsummer

  • SHA-1160 bit

    Skriv noget i feltet ovenfor.

  • SHA-256256 bit

    Skriv noget i feltet ovenfor.

  • SHA-384384 bit

    Skriv noget i feltet ovenfor.

  • SHA-512512 bit

    Skriv noget i feltet ovenfor.

Teksten forlader aldrig din browser. Beregningen sker med browserens egen kryptofunktion.

Indlejr

Indlejr værktøjet på dit website

Kopiér koden, og indsæt den, hvor værktøjet skal vises, f.eks. i et blogindlæg eller på en skoleside. Det er gratis, boksen har ingen annoncer, og værktøjet regner i den besøgendes browser.

Sådan virker det

En kryptografisk kontrolsum gør en tekst af en hvilken som helst længde om til et fast antal tegn. Samme tekst giver altid samme sum, mens den mindste ændring giver en helt anden.

Funktionen går kun én vej. Der findes ingen måde at regne tilbage fra summen til teksten, og det er hele pointen med den.

Kontrolsummer bruges til at sammenligne filer, til at opdage at noget er ændret, og som byggesten i signaturer og certifikater.

SHA-1 regnes ikke længere som sikker. Siden 2017 har der været praktiske måder at lave to forskellige tekster med samme SHA-1-sum, så brug den kun til at sammenligne med ældre systemer.

Adgangskoder skal ikke gemmes med disse funktioner. De er bygget til at være hurtige, hvilket gør dem lette at prøve sig igennem. Til adgangskoder bruges bevidst langsomme funktioner som Argon2id, scrypt og PBKDF2. OWASP anbefaler kun bcrypt i ældre systemer, hvor hverken Argon2id eller scrypt findes.

Teksten kodes som UTF-8, før den beregnes, så æ, ø og å giver samme sum her som i andre korrekte værktøjer.

Sådan regner værktøjet

Teksten laves om til UTF-8 og sendes til browserens crypto.subtle.digest, som beregner SHA-1, SHA-256, SHA-384 og SHA-512 på én gang. Summerne skrives med små hexadecimale tegn, to pr. byte: 40 tegn for SHA-1, 64 for SHA-256, 96 for SHA-384 og 128 for SHA-512. De beregnes igen for hvert tegn, du skriver.

De samme byte giver altid den samme sum i alle korrekte værktøjer, men den samme tekst kan blive til forskellige byte. Ø skrives med to byte i UTF-8, C3 B8, men med en enkelt, F8, i den ældre tegnkodning Latin-1. Hø giver derfor en anden sum her end i et program, der regner på Latin-1.

Eksempel

abc giver SHA-256-summen ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, samme værdi som NIST angiver i sit testeksempel for algoritmen. Følges abc af et linjeskift, som kommandoen echo tilføjer, bliver summen i stedet edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb. Linjeskiftet kan ikke ses i teksten, men summen bliver en anden.

Grænsetilfælde

Værktøjet regner på tekst, ikke på filer. Kontrolsummen for en downloadet fil beregnes på filens byte, for eksempel med certutil -hashfile i Windows eller sha256sum i Linux. At indsætte filens indhold giver kun samme sum, hvis teksten er den samme byte for byte.

Linjeskift er den mest almindelige grund til, at summerne er forskellige. HTML-standarden bestemmer, at et tekstfelt laver alle linjeskift om til kun LF, så tekst fra en fil med Windows-linjeskift, CR LF, får en anden sum her end i certutil. Mellemrum sidst på en linje og et afsluttende linjeskift tæller også med.

NIST meddelte den 15. december 2022, at SHA-1 skal udfases senest den 31. december 2030 og erstattes af SHA-2 eller SHA-3. Af funktionerne her hører SHA-256, SHA-384 og SHA-512 til SHA-2.

Kilder

Sådan kontrolleres værktøjerne