MD5-hashgenerator

Beregn MD5-hashværdien på 128 bit af tekst, hexbytes eller en fil. Hashværdien opdateres, mens du skriver, og feltet Sammenlign med viser, om den stemmer overens med den kontrolsum, du forventede.

Alle algoritmer

Kører udelukkende i din browser. Intet bliver uploadet.

Sådan bruger du værktøjet

  1. Skriv eller indsæt tekst, skift inputtet til Hex for at angive bytes, eller klik på Åbn fil for at hashe filens bytes præcis, som de er.
  2. Lad Tegnkodning stå på UTF-8, medmindre den oprindelige hashværdi blev beregnet ud fra tekst i et andet tegnsæt.
  3. Vælg hex (små bogstaver), HEX (store bogstaver) eller Base64 under Output som.
  4. Hvis du vil kontrollere en download, skal du indsætte den offentliggjorte MD5-værdi i feltet Sammenlign med og se, om der står Stemmer overens.

Hvad er MD5?

MD5 (Message-Digest Algorithm 5) blev udviklet af Ronald Rivest og offentliggjort i 1992 som RFC 1321. Algoritmen læser inputtet i blokke på 512 bit og giver en hashværdi på 128 bit, som regel skrevet som 32 hexadecimale tegn eller 24 Base64-tegn. Det samme input giver altid den samme hashværdi, og ændrer du blot én bit i inputtet, ændres omkring halvdelen af outputbittene.

Hashing virker kun den ene vej: Der er ingen nøgle og ingen måde at "dekryptere" en MD5-hashværdi tilbage til inputtet på. Websteder, der påstår at kunne vende MD5 om, slår blot hashværdien op i enorme tabeller med hashede ord og lækkede adgangskoder, og derfor bliver den usaltede MD5-hashværdi af en kort adgangskode ofte fundet på få sekunder.

Er MD5 stadig sikker?

Ikke over for en angriber. Xiaoyun Wang og hendes kolleger offentliggjorde praktiske kollisioner i 2004: to forskellige input med den samme MD5-hashværdi. Derefter fulgte kollisioner med valgt præfiks (chosen-prefix): Forskere brugte en sådan i 2008 til at skabe et falsk CA-certifikat, og i 2012 brugte malwaren Flame en til at forfalske et certifikat, så dens kode så ud til at være signeret af Microsoft. I dag finder en almindelig bærbar computer en MD5-kollision på få sekunder, og RFC 6151 fastslår, at MD5 ikke længere er acceptabel, hvor der kræves kollisionsresistens, for eksempel i digitale signaturer.

MD5 duer stadig fint som kontrolsum mod utilsigtet beskadigelse, for eksempel en ufuldstændig download eller en vendt bit på disken, og til cachenøgler eller deduplikering af data, du har tillid til. Når filen eller dens kontrolsum kan stamme fra en angriber, skal du bruge SHA-256 i stedet.

Hex, Base64 og hashværdier, der ikke stemmer overens

MD5 vises normalt som hex, og det er også det, md5sum udskriver. Nogle protokoller sender i stedet de 16 rå bytes som Base64, for eksempel HTTP-headeren Content-MD5, som bruges af API'er til cloudlagring såsom Amazon S3. Vælg Base64 som output, eller konvertér en eksisterende værdi med Hex til Base64.

Hvis din MD5-værdi afviger fra et andet værktøjs, er det, fordi de bytes, der hashes, ikke er de samme. De typiske årsager er et afsluttende linjeskift, Windows-linjeskift eller en anden tegnkodning: "café" fylder 5 bytes i UTF-8, men 4 bytes i ISO-8859-1, så de to hashværdier har intet til fælles.

$ echo "hello" | md5sum      # hasher "hello\n"
b1946ac92492d2347c6235b4d2611184  -
$ printf 'hello' | md5sum    # hasher "hello"
5d41402abc4b2a76b9719d911017c592  -

MD5 på kommandolinjen og i kode

md5sum file.iso                          # Linux
md5 file.iso                             # macOS
certutil -hashfile file.iso MD5          # Windows
Get-FileHash file.iso -Algorithm MD5     # PowerShell

# Python
import hashlib
hashlib.md5('hello'.encode('utf-8')).hexdigest()

// Node.js
require('crypto').createHash('md5').update('hello', 'utf8').digest('hex')

Det Web Crypto API, der er indbygget i browserne, understøtter ikke MD5, så denne side beregner hashværdien i JavaScript på din enhed; intet bliver uploadet. Tabellen Alle algoritmer under resultatet viser SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 og CRC-32C for det samme input.

Eksempler

Input (UTF-8)MD5
Hello, World!65a8e27d8879283831b664bd8b7f0ad4
Base64.is2e3c0e8b828164a8db7f62146ca87e14
你好7eca689f0d3389d9dea66ae112e5cfd7

Ofte stillede spørgsmål

Kan en MD5-hashværdi dekrypteres?
Nej. MD5 er en hashfunktion, der kun virker den ene vej, ikke kryptering, så der er intet at dekryptere; en "MD5-dekrypter" kan kun returnere et input, der allerede findes i dens tabeller. Hvis du senere skal have de oprindelige data tilbage, skal du kryptere dem i stedet, eller, hvis de ikke behøver at være hemmelige, kode dem med Base64, som fuldt ud kan vendes om.
Er MD5 god nok til at kontrollere en download?

Den opdager pålideligt utilsigtet beskadigelse. Men fordi kollisioner er billige at fremstille, kan en person, der forbereder en fil på forhånd, lave en anden fil med et andet indhold og den samme MD5-hashværdi. Til downloads, hvor sikkerheden betyder noget, bør du kontrollere en SHA-256-hashværdi fra en pålidelig kilde eller en signatur.

Hvor lang er en MD5-hashværdi?
128 bit, altså 16 bytes: 32 tegn i hex eller 24 tegn i Base64, der ender på ==. En hexstreng på 32 tegn kan også være en MD4- eller NTLM-hashværdi; værktøjet Hashidentifikator viser de mulige kandidater.
Kan jeg beregne MD5-hashværdien af en stor fil?
Ja. Klik på Åbn fil, så bliver filens bytes hashet i din browser uden at blive uploadet. Grænsen er den hukommelse, din browser kan bruge, så filer på flere gigabyte hashes bedre med md5sum eller certutil.
Bør jeg gemme adgangskoder som MD5?
Nej. MD5 er designet til at være hurtig, så en enkelt GPU kan afprøve milliarder af gæt i sekundet. Gem adgangskoder med Argon2id, scrypt, bcrypt eller PBKDF2, som tilføjer en saltværdi og bevidst er langsomme. Adgangskodegeneratoren laver stærke adgangskoder fra starten.