🌐 SV

🔐 Hashgenerator

Konvertera text till olika hashalgoritmer. Används för kontroll av filintegritet, lösenordshashning och datavalidering.

Välj en fil för att generera hash av filinnehållet
GUIDE

Las mer

01

1. Vad är hashfunktioner

Hashfunktioner är envägssfunktioner som omvandlar data av valfri storlek till värden med fast storlek. De har den så kallade avalanche-effekten, där även en liten ändring i indata ger en helt annan hash, och samma indata ger alltid samma utdata. MD5 genererar 128-bitars, SHA-1 genererar 160-bitars och SHA-256 genererar 256-bitars hashvärden. Eftersom hashfunktioner är envägssfunktioner som inte kan dekrypteras är de idealiska för att verifiera integritet samtidigt som originaldata döljs. De används ofta för verifiering av filnedladdningar, lösenordslagring, blockchain, digitala signaturer med mera.

02

2. Jämförelse mellan MD5 och SHA-algoritmer

MD5 är en 128-bitars hash utvecklad 1991, mycket snabb men sårbar för kollisionattacker. Allvarliga säkerhetsbrister upptäcktes 2004, vilket gör den olämplig för kryptografiska ändamål och endast användbar för filchecksummor. SHA-1 är en 160-bitars hash som är säkrare än MD5, men Googles tillkännagivande 2017 om faktiska kollisionsfall ledde till att den togs ur bruk. SHA-256 ingår i SHA-2-familjen, genererar 256-bitars hashvärden och är i dag den mest använda standarden. Bitcoin använder också SHA-256. SHA-512 ger högre säkerhet med 512 bitar men är långsammare. Nya system bör använda SHA-256 eller högre.

03

3. Hashsäkerhet och sårbarheter

Hashfunktioner har tre huvudsakliga säkerhetskrav. För det första preimage resistance: det ska vara svårt att hitta originalet utifrån hashvärdet. För det andra second preimage resistance: det ska vara svårt att hitta en annan indata som ger samma hash. För det tredje collision resistance: det ska vara svårt att hitta två olika indata som ger samma hash. MD5 och SHA-1 har bruten collision resistance, vilket gör att angripare medvetet kan skapa samma hash. Rainbow table-attacker använder förberäknade hash-tabeller för att gå baklänges, men salt kan skydda mot detta.

04

4. Verifiering av filintegritet

Filhashar är det mest effektiva sättet att kontrollera att nedladdade filer inte har manipulerats. Webbplatser för programdistribution tillhandahåller officiella hashvärden tillsammans med filerna. Användare beräknar filens hash efter nedladdning och jämför den med det officiella värdet. Även en enda bits skillnad ger en helt annan hash och avslöjar manipulation direkt. Detta är viktigt för Linux ISO-avbilder, programvara med öppen källkod, blockchain-transaktioner med mera. Git genererar också SHA-1-hashar för varje commit för att säkerställa kodintegritet. Hashar kan upptäcka skador från nätverksfel under stora filöverföringar.

05

5. Bästa praxis för lösenordshashning

Lagra aldrig lösenord i klartext i databaser. De bör omvandlas till hashvärden, men enkel MD5 eller SHA-256 är otillräcklig. De är sårbara för rainbow table-attacker. Du måste lägga till salt. Salt är en slumpmässig sträng som läggs till lösenordet och gör att samma lösenord ger olika hashvärden. Använd dessutom långsamma hashfunktioner som bcrypt, scrypt eller Argon2. Dessa saktar medvetet ner beräkningen för att göra brute force-attacker svåra. OWASP rekommenderar Argon2 som högsta prioritet för lösenordshashning.

06

6. Rainbow tables och salt

Rainbow tables är enorma databaser med förberäknade hashvärden. De lagrar hashvärden för miljontals vanliga lösenord i förväg och matchar dem mot stulna hashvärden för att hitta originallösenorden. Till exempel är MD5 av "password123" alltid "482c811da5d5b4bc6d497ffa98491e38", så den kan hittas direkt i tabellen. Salt skyddar mot detta. Om man lägger till en unik slumpmässig sträng för varje användare får samma lösenord olika hashvärden. Hashning av "password123" + "x8k2m9" ger ett värde som inte finns i rainbow tables. Salt kan lagras i klartext i databasen, och varje lösenord måste använda ett annat salt för att vara effektivt.

Vanliga fragor

Skickas min text eller fil till en server?
Nej. All hashning görs lokalt i din webbläsare med JavaScript, inget laddas upp. Din text och dina filer stannar på din enhet.
Kan jag använda det här verktyget för att hasha lösenord för lagring?
Det rekommenderar vi inte. MD5 och SHA-256 är snabba hashfunktioner som är sårbara för brute-force-attacker, så lösenord bör i stället använda en långsam, dedikerad funktion som bcrypt, scrypt eller Argon2. Det här verktyget passar bäst för kontroll av filintegritet och datachecksummor.
Vilken algoritm ska jag välja?
Använd SHA-256 eller högre för allt nytt. MD5 och SHA-1 har bruten collision resistance och är olämpliga för säkerhetsändamål - behåll dem endast för kompatibilitet med äldre system.
När ska jag använda alternativet HMAC?
HMAC (nyckelbaserad hashning) verifierar att ett meddelande kommer från en avsändare som har en specifik hemlig nyckel. Använd det när du behöver både autentisering och integritet, till exempel för att signera API-begäranden eller verifiera webhooks.
Varför ger samma indata ibland olika hash?
För samma algoritm och indata är hashen alltid identisk, om du inte använde en HMAC-nyckel eller alternativet för versaler. Om resultatet skiljer sig, kontrollera subtila skillnader i indata som extra mellanslag eller radbrytningar.