logo
GeekFormat

MD5-hash

Invoer0 tekens · 0 bytes
示例:
All Hashes (side-by-side)
Computed via Web Crypto API
MD5
32 hex
SHA-1
40 hex
SHA-256
64 hex
SHA-384
96 hex
SHA-512
128 hex

Gratis online MD5-hashtool. Tekst/bestand/batch/HMAC-MD5-modi, UTF-8/Latin1, hoofdletters, 8-karaktergroepering. ⚠️ MD5 is gecompromitteerd — NIET gebruiken voor wachtwoordopslag.

Gerelateerde aanbevelingen

Toepassingsgevallen

  • Bestandsintegriteit: bereken MD5 na download om te vergelijken met officiële checksums
  • Batch-digestgeneratie voor configuratiebestanden of release-opmerkingen
  • HMAC-MD5-ondertekening voor integratie met legacy-systemen
  • Gegevensdeduplicatie via snelle MD5-vergelijking
  • Cache-sleutelgeneratie als korte unieke identifiers
  • Onderwijs: hash-algoritmen begrijpen door MD5/SHA-1/SHA-256-uitvoer te vergelijken

Functies

  • Vier modi: Tekst, Bestand, Batch per regel en HMAC-MD5, voor algemene checksum-scenario's
  • Kiesbare UTF-8/Latin1-codering voor verschillende systeeminvoer
  • Hoofdletterweergave en 8-karaktergroepering voor leesbaarheid
  • Bestand chunk hashing: incrementele lezing voor grote bestanden voorkomt geheugenproblemen
  • Batchmodus: elke regel wordt onafhankelijk gehasht met origineel→hash uitvoer
  • Resultaten kopiëren met één klik

Hoe te gebruiken

  1. Kies modus: Tekst, Bestand, Batch of HMAC-MD5
  2. Configureer opties: codering, hoofdletters, 8-karaktergroepering
  3. Voer tekst in, upload bestand of plak batchinhoud
  4. Kopieer het hashresultaat voor verificatie of scripts

Veelgestelde vragen

Waar wordt MD5 meestal voor gebruikt?

MD5 wordt meestal gebruikt voor bestandsintegriteitscontrole (bijv. downloadverificatie), snelle digestgeneratie, legacy-systeemcompatibiliteit, cache-sleutels en gegevensdeduplicatie in niet-beveiligingsscenario's. MD5 produceert 128 bits (32 hexadecimale tekens) en is extreem snel, geschikt voor niet-kritieke controlescenario's.

MD5 versus SHA-256?

MD5 produceert 128 bits (32 hex), extreem snel maar gecompromitteerd; SHA-256 produceert 256 bits (64 hex), langzamer maar zonder praktische botsingsaanvallen en de voorkeur voor kritieke toepassingen.

SHA-256 Tool

Waarom is MD5 onveilig voor wachtwoorden?

MD5 is extreem snel — moderne GPU's kunnen miljarden hashes per seconde berekenen, en regenboogtabellen verpletteren gewone wachtwoorden onmiddellijk. Gebruik bcrypt, scrypt of Argon2 voor wachtwoordopslag.

Wachtwoordgenerator

MD5 is gecompromitteerd — kan ik het nog gebruiken?

Absoluut NIET voor beveiliging (digitale handtekeningen, wachtwoorden, TLS). Maar voor niet-beveiligingstoepassingen (bestandsbeschadigingscontrole, deduplicatie, cache-sleutels) is MD5 nog steeds geschikt, omdat aanvallers geen stimulans hebben om botsingen te creëren.

Kunnen MD5-hashes worden 'ontsleuteld'?

MD5 is een eenrichtingsfunctie en kan wiskundig niet worden omgekeerd, maar regenboogtabellen en brute kracht kunnen zwakke wachtwoorden binnen seconden herstellen. Daarom mag MD5 nooit voor wachtwoordopslag worden gebruikt.

Zullen grote bestanden vertraging veroorzaken?

Nee. De tool maakt gebruik van stapsgewijze incrementele lezing — bestanden worden niet volledig in het geheugen geladen, dus zelfs multi-gigabyte bestanden worden soepel verwerkt met een responsieve interface.

Wat is HMAC-MD5 versus gewone MD5?

HMAC-MD5 is een gehashte hash met een sleutel waarvoor een geheime sleutel vereist is. Hoewel gewone MD5 gecompromitteerd is, blijft HMAC-MD5 veilig wanneer de sleutel onbekend is (hoewel migratie naar HMAC-SHA256 wordt aanbevolen).

HMAC Generator

Wat is MD5?

MD5 (Message-Digest Algorithm 5) is een 128-bits hashfunctie ontworpen door Ronald Rivest in 1991 (RFC 1321), die een vaste 32-karakter hexadecimale digest produceert uit willekeurige invoer. Ooit veel gebruikt voor digitale handtekeningen, certificaatverificatie en wachtwoordopslag, werd MD5 gecompromitteerd door de botsingsaanval van Wang et al. in 2004, en de Flame-malware misbruikte MD5-botsingen om een vertrouwd CA-certificaat te vervalsen in 2008.

**Beveiligingsstatus**: NIST heeft MD5 officieel afgekeurd voor digitale handtekeningen in SP 800-131A (2011). MD5 blijft echter nuttig voor niet-beveiligingsscenario's: bestandsintegriteitscontrole tegen willekeurige corruptie, gegevensdeduplicatie en cache-sleutels. De belangrijkste vraag: zou een aanvaller baat hebben bij het creëren van een botsing? Zo nee, dan is de snelheid van MD5 een voordeel.

**Gebruik MD5 NOOIT voor wachtwoordopslag**: MD5 is extreem snel (miljarden hashes/seconde op GPU), waardoor gewone wachtwoorden onmiddellijk via brute kracht kunnen worden gekraakt. Wachtwoordopslag MOET bcrypt, scrypt of Argon2 gebruiken — trage hashes met instelbare kostenfactoren die brute kracht onhaalbaar maken.

**HMAC-MD5 is nog steeds veilig**: hoewel gewone MD5 gecompromitteerd is, blijft HMAC-MD5 (Hash-based Message Authentication Code met een sleutel) veilig wanneer de sleutel onbekend is, omdat de HMAC-constructie niet direct afhankelijk is van de botsingsweerstand van de onderliggende hash. Migratie naar HMAC-SHA256 wordt niettemin aanbevolen.

De tool gebruikt een pure JavaScript MD5-implementatie (Web Crypto API ondersteunt MD5 niet meer). Alle berekeningen worden lokaal in uw browser uitgevoerd — bestanden maken gebruik van stapsgewijze incrementele lezing en worden nooit naar servers geüpload.

术语表

Hashfunctie (Hash Function)
Een wiskundige functie die willekeurige invoer toewijst aan uitvoer van vaste lengte. Goede hashfuncties bieden eenrichtingsverkeer, botsingsweerstand en lawine-effect.
Botsingsaanval (Collision Attack)
Het vinden van twee verschillende invoeren die dezelfde hash-uitvoer produceren. MD5-botsingen werden in 2004 door Wang et al. gedemonstreerd, waardoor digitale handtekeningvervalsing mogelijk werd.
Preimage-aanval (Preimage Attack)
Het vinden van een invoer die een bepaalde hash-uitvoer produceert. Moeilijker dan botsingen, maar nieuw onderzoek in 2024 heeft de preimage-weerstand van MD5 aanzienlijk verzwakt.
Regenboogtabel (Rainbow Table)
Vooraf berekende hash→klare tekst opzoektabellen voor het snel kraken van zwakke wachtwoordhashes. Salts verslaan regenboogtabellen.
HMAC (Hash-based Message Authentication Code)
Een op hash gebaseerde berichtauthenticatiecode die een geheime sleutel gebruikt voor berichtintegriteit/authenticatie. HMAC-MD5 en HMAC-SHA256 zijn veelvoorkomende varianten.HMAC Generator
bcrypt
Een langzaam wachtwoordhash-algoritme met ingebouwde salts en instelbare kostenfactor, waardoor brute-force-aanvallen onbetaalbaar worden.
Checksum
Een kleine vaste waarde die wordt gebruikt om gegevensintegriteit te verifiëren. MD5, SHA-1, SHA-256 worden vaak gebruikt als checksums om corruptie bij verzending te detecteren.
Lawine-effect (Avalanche Effect)
Een kleine verandering in invoer (zelfs 1 bit) veroorzaakt een drastische en onvoorspelbare verandering in de hash-uitvoer. MD5 heeft nog steeds goede lawine-eigenschappen, wat bijdraagt aan zijn blijvende nut in niet-beveiligingscontroles.
RFC 1321
De officiële standaard voor MD5, ingediend bij IETF door Ronald Rivest in 1992, die de algoritmestappen en testvectoren beschrijft.
Chunked Hashing
Het verwerken van grote bestanden in blokken in plaats van het hele bestand in het geheugen te laden, met incrementele updates van de hashstatus.

Vergelijking van veelgebruikte hash-algoritmen

AlgoritmeUitvoerbitsHex-lengteBeveiligingSnelheidAanbevolen gebruik
MD5128 bit32 karakters❌ Gecompromitteerd (botsingen/preimage)Extreem snelBestandschecksums, deduplicatie, cache-sleutels
SHA-1160 bit40 karakters❌ Botsingen (2017)SnelGit, legacy-systeemcompatibiliteit
SHA-256256 bit64 karakters✅ VeiligGemiddeldDigitale handtekeningen, certificaten, blockchain
SHA-512512 bit128 karakters✅ VeiligSnel (64-bit)Hoge beveiligingsscenario's, sleutelafleiding
bcrypt-60 karakters✅ Wachtwoord-specifiekLangzaam (instelbaar)Wachtwoordopslag

Tijdlijn van MD5-beveiligingsgebeurtenissen

JaarGebeurtenisImpact
1991Ron Rivest ontwerpt MD5 (RFC 1321)Vervangt MD4 en wordt standaard hash-algoritme
1996Eerste pseudo-collisiegebrek in MD5 ontdektAcademische gemeenschap uit bezorgdheid
2004Wang Xiaoyun's team demonstreert MD5-botsingsaanvalMD5 digitale handtekeningbeveiliging volledig verbroken
2008Flame-malware vervalst CA-certificaat via MD5-botsingNIST verwerpt MD5 officieel voor digitale handtekeningen
2011NIST SP 800-131A verbiedt MD5 officieel voor beveiligingsdoeleindenAmerikaanse overheidsystemen faseren MD5 uit
2024Nieuwe preimage-aanvalspaper gepubliceerdLaatste verdedigingslinie van MD5 (preimage-weerstand) doorbroken

Code Examples

MD5/Hashing in JavaScript (Web Crypto supports SHA, MD5 needs library)

// Note: Web Crypto API does NOT support MD5 (deprecated)
// Use SHA-256 instead for new projects
async function sha256(message) {
  const msgBuffer = new TextEncoder().encode(message);
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
  return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2,'0')).join('');
}
sha256('Hello World').then(console.log);

// MD5 in Node.js using crypto module
const crypto = require('crypto');
const md5 = crypto.createHash('md5').update('Hello World').digest('hex');
console.log(md5); // b10a8db164e0754105b7a99be72e3fe5

MD5 Hashing in Python

import hashlib
text = 'Hello World'
md5_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
print(md5_hash)  # b10a8db164e0754105b7a99be72e3fe5

# File MD5 (chunked for large files)
def md5_file(filepath, chunk_size=8192):
    md5 = hashlib.md5()
    with open(filepath, 'rb') as f:
        while chunk := f.read(chunk_size):
            md5.update(chunk)
    return md5.hexdigest()

# HMAC-MD5
import hmac
hmac_md5 = hmac.new(b'secret-key', b'Hello World', hashlib.md5).hexdigest()
print(hmac_md5)

MD5 Hashing in Java

import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;

public class MD5Example {
    public static String md5(String input) throws Exception {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
        StringBuilder sb = new StringBuilder();
        for (byte b : hash) sb.append(String.format("%02x", b));
        return sb.toString();
    }
    public static void main(String[] args) throws Exception {
        System.out.println(md5("Hello World"));
        // b10a8db164e0754105b7a99be72e3fe5
    }
}
// Note: Use SHA-256 for new code: MessageDigest.getInstance("SHA-256")

Authoritative References