Alla hashar är inte lika

En kryptografisk hash avbildar vilken indata som helst på ett fingeravtryck av fast storlek. Det finns flera familjer, och de är inte utbytbara: vissa är fortfarande starka och andra är så allvarligt knäckta att det är ett misstag att använda dem för säkerhet. Rätt val beror på uppgiften och kalendern, för en hash som var respektabel för tjugo år sedan kan vara trivialt knäckt idag.

De knäckta

  • (128 bitar) är knäckt. Kollisioner kan produceras på sekunder på en bärbar dator och har använts i verkliga attacker (Flame-skadeprogrammet förfalskade ett kodsigneringscertifikat med en MD5-kollision). Det överlever bara som en snabb, säkerhetsfri kontrollsumma, och även där finns bättre alternativ.
  • -1 (160 bitar) är knäckt. SHAttered-forskningen 2017 producerade två olika :er med samma SHA-1-digest, och därefter kom kollisioner med valt prefix. Webbläsare och certifikatutfärdare tog bort stödet för SHA-1 för flera år sedan. Använd det inte för signaturer eller integritet som en angripare kan attackera.

De nuvarande arbetshästarna

  • SHA-2 är standardfamiljen för det mesta arbetet. Det är en uppsättning besläktade funktioner, vanligen SHA-256 och SHA-512 (även SHA-224, SHA-384 och den avkortade SHA-512/256). Det finns ingen praktisk kollisionsattack mot SHA-2. Vid tvekan är SHA-256 det säkra och universellt stödda valet.
  • SHA-3 (Keccak) är en nyare standard byggd på en helt annan intern design (en svampkonstruktion) än SHA-2. SHA3-256 och SHA3-512 ger jämförbar säkerhet och finns delvis som skydd: skulle en svaghet någonsin hittas i SHA-2 är det osannolikt att SHA-3 delar den. Den är också av sin design immun mot det längdförlängningsproblem som drabbar SHA-2.
  • BLAKE2 och BLAKE3 är moderna, mycket snabba hashar med stark säkerhet. BLAKE3 i synnerhet är gjord för att parallelliseras, vilket gör den attraktiv när man hashar stora datamängder och vill ha hastighet utan att ge upp säkerhet.

Att välja en

En kort beslutsguide:

  • Allmän integritet, signaturer eller "jag behöver bara en säker hash": SHA-256.
  • Du vill ha algoritmmångfald eller immunitet mot längdförlängning utan : SHA-3 eller SHA-512/256.
  • Hashning av stora filer där genomströmning räknas: BLAKE3.
  • En snabb, säkerhetsfri kontrollsumma (upptäcka oavsiktlig korruption, inte manipulation): en CRC eller MD5 duger, men kalla det aldrig "säkert".
  • Lösenord är ett separat problem. Allmänna hashar är för snabba för lösenordslagring; använd en särskild lösenordshash som bcrypt, scrypt eller Argon2 (se artikeln om lösenordshashning).

Hash-verktyget beräknar MD5, SHA-1, SHA-256, SHA-512 och mer över text eller en fil så att du kan jämföra utdata sida vid sida, allt i din webbläsare, utan att något skickas.