MCP ile bağlan →

Hesaplamaya Girin

Formül

Reklam

Sonuç

MD5 Hash (128 bit)
d41d8cd98f00b204e9800998ecf8427e
32 onaltılık karakter
Girdi uzunluğu (karakter) 0
Girdi boyutu (UTF-8 bayt) 0

MD5 Hash Hesaplayıcı nedir?

MD5 Hash Hesaplayıcı, girdiğiniz herhangi bir metnin 128 bitlik MD5 mesaj özetini hesaplar. MD5 (Message-Digest Algorithm 5, RFC 1321'de tanımlanır), uzunluğu ne olursa olsun bir girdiyi alır ve sabit boyutlu, 32 karakterlik onaltılık bir parmak izi üretir. Aynı girdi her zaman aynı hash'i verir; buna karşılık tek bir karakterin bile değişmesi tamamen farklı bir sonuç doğurur.

Nasıl kullanılır?

Metninizi giriş kutusuna yazın ya da yapıştırın ve gönderin. Hesaplayıcı, metninizi UTF-8 baytları olarak kodlar, MD5 algoritmasını uygular ve sonucu küçük harfli onaltılık özet olarak; girdinin karakter cinsinden uzunluğu ve UTF-8 bayt cinsinden boyutuyla birlikte döndürür. Kutuyu boş bırakırsanız, herkesçe bilinen boş dize hash'ini görürsünüz.

Formülün açıklaması

MD5 bir Merkle–Damgård yapısıdır.

$$\text{MD5}\!\left(\text{Text}\right) = \text{Hex}_{128}\big(A \Vert B \Vert C \Vert D\big)$$

Mesaj önce tek bir 0x80 baytıyla, ardından sıfırlarla, uzunluğu 64'e bölündüğünde 56 kalan verene kadar doldurulur; en sona ise orijinal bit uzunluğu 64 bitlik little-endian değer olarak eklenir. Doldurulan mesaj 512 bitlik bloklara ayrılır ve her blok, dört tur boyunca 64 işlemde; doğrusal olmayan fonksiyonlar, sin üzerinden türetilen adım sabitleri ve sola döndürmeler kullanılarak işlenir. Dört adet 32 bitlik durum sözcüğü (\(A\), \(B\), \(C\), \(D\)) sabit başlangıç değerleriyle ilklendirilir ve her blokta güncellenir; bunların little-endian olarak birleştirilmiş son hâli özeti oluşturur.

Flow diagram of MD5 processing message blocks into a 128-bit digest
MD5 pads the message and processes 512-bit blocks through four rounds to update state words A, B, C, D.

Örnek üzerinden

Boş dize ("") sıfır bayt içerir. Doldurma işleminden sonra tek bir 512 bitlik blok hâline gelir ve MD5 şu sonucu verir: d41d8cd98f00b204e9800998ecf8427e. "hello" metni (5 bayt) ise 5d41402abc4b2a76b9719d911017c592 olarak hash'lenir.

Diagram showing four 32-bit words concatenated and reordered little-endian into a 32-character hex digest
The four 32-bit registers are concatenated and output in little-endian byte order as a 32-character hexadecimal string.

Sıkça sorulan sorular

MD5 güvenli mi? Hayır. MD5 kriptografik açıdan kırılmıştır; çakışmalar (collision) kolayca üretilebilir. Onu yalnızca sağlama (checksum) ve güvenlikle ilgisi olmayan parmak izleri için kullanın; parolalar ya da imzalar için asla kullanmayın.

Bayt sayısı neden karakter sayısından farklı? ASCII dışı karakterler UTF-8'de birden fazla bayt kaplar; bu nedenle 3 karakterlik bir emoji dizesi birkaç bayt tutabilir.

Büyük/küçük harf fark eder mi? Evet. "Hello" ve "hello" tamamen farklı hash'ler üretir.

Son güncelleme: