Hash
Hash-generator
Generera MD5-, SHA-1-, SHA-256- och SHA-512-hashar.
Om hashning
En hashfunktion tar valfri indata och producerar ett fingeravtryck med fast längd. Samma indata ger alltid samma hash, men en hash kan inte vändas tillbaka till originaldata, och även en enda teckenändring i indata förändrar utdatan helt.
Hashen för en textbit beror på dess exakta byte, inte bara dess tecken — samma sträng kodad som UTF-8 kontra UTF-16 ger två helt olika hashar, även om en person som läser båda skulle se identisk text. Det är därför filhashverktyg arbetar med råa byte snarare än "text": där finns ingen tvetydighet att lösa. När du hashar inklistrad text här kodas den först som UTF-8, vilket också är vad nästan varje kontrollsumma du jämför med förutsätter, men det är värt att veta att det antagandet finns.
Var du stöter på det
- Verifiera att en nedladdad fil matchar utgivarens checksumma
- Jämföra två filer för likhet utan att jämföra hela innehållet
- Generera cache-busting-nycklar eller innehållsadresserade identifierare
- Kontrollera dataintegritet efter en överföring eller säkerhetskopiering
Vanliga frågor
Är MD5 eller SHA-1 säkra för lösenord?
Nej. Båda är knäckta för säkerhetsändamål — använd istället en dedikerad lösenordshashalgoritm som bcrypt eller Argon2. Dessa är generella hashar, inte lösenordshashar.
Vilken algoritm ska jag använda?
För integritetskontroller är SHA-256 eller SHA-512 den nuvarande standarden. MD5 och SHA-1 är fortfarande vanliga för äldre checksummaverifiering men bör inte litas på för säkerhet.
Sparas mina uppladdade filer?
Nej. Filer hashas på servern enbart för den begäran och kastas sedan bort.
Varför ger hashning av samma text ett annat resultat någon annanstans?
Den vanligaste orsaken är teckenkodning: identiskt utseende text ger en annan bytesekvens, och därmed en annan hash, beroende på om den är kodad som UTF-8, UTF-16 eller något annat. Efterföljande blanktecken eller en annan konvention för radslut (\n mot \r\n) ändrar också byten osynligt. Det här verktyget hashar inklistrad text som UTF-8; om ditt jämförelsevärde kommer från en annan kodning är avvikelsen förväntad, inte en bugg.