MD5 Hash Oluşturucu

Metnin, onaltılık baytların veya bir dosyanın 128 bitlik MD5 özetini hesaplayın. Hash siz yazarken güncellenir; "Karşılaştırılacak değer" alanı da sonucun beklediğiniz sağlama toplamıyla eşleşip eşleşmediğini gösterir.

Tüm algoritmalar

Tamamen tarayıcınızda çalışır. Hiçbir veri yüklenmez.

Nasıl kullanılır

  1. Metni yazın veya yapıştırın. Baytları onaltılık olarak girmek için girdi biçimini "Onaltılık" yapın ya da bir dosyanın baytlarını olduğu gibi hash'lemek için "Dosya aç" düğmesine tıklayın.
  2. Orijinal hash başka bir karakter kümesindeki bir metinden üretilmediyse "Metin kodlaması" ayarını UTF-8 olarak bırakın.
  3. "Çıktı biçimi" listesinden "hex (küçük harf)", "HEX (büyük harf)" veya "Base64" seçeneğini belirleyin.
  4. İndirdiğiniz bir dosyayı doğrulamak için yayımlanan MD5 değerini "Karşılaştırılacak değer" alanına yapıştırın; değerler aynıysa "Eşleşiyor" yazısı görünür.

MD5 nedir?

MD5 (Message-Digest Algorithm 5), Ronald Rivest tarafından tasarlandı ve 1992'de RFC 1321 olarak yayımlandı. Girdiyi 512 bitlik bloklar hâlinde okur ve genellikle 32 onaltılık karakter veya 24 Base64 karakteri olarak yazılan 128 bitlik bir özet üretir. Aynı girdi her zaman aynı özeti verir; girdinin tek bir bitini değiştirmek ise çıktı bitlerinin yaklaşık yarısını değiştirir.

Hash işlemi tek yönlüdür: ortada bir anahtar yoktur ve bir MD5 hash değerinin "şifresini çözerek" girdiye geri dönmenin hiçbir yolu yoktur. MD5'i tersine çevirdiğini iddia eden siteler, hash değerini hash'lenmiş kelimelerden ve sızdırılmış parolalardan oluşan devasa tablolarda arar. Kısa bir parolanın tuzsuz MD5 değerinin çoğu zaman saniyeler içinde bulunmasının nedeni budur.

MD5 hâlâ güvenli mi?

Bir saldırgana karşı değil. Xiaoyun Wang ve meslektaşları 2004'te pratik çakışmalar yayımladı: aynı MD5 değerine sahip iki farklı girdi. Bunu seçilmiş önek (chosen-prefix) çakışmaları izledi: araştırmacılar 2008'de bu yöntemle sahte bir CA sertifikası oluşturdu, 2012'de ise Flame zararlı yazılımı aynı yöntemle sahte bir sertifika üreterek kodunun Microsoft tarafından imzalanmış gibi görünmesini sağladı. Bugün sıradan bir dizüstü bilgisayar saniyeler içinde bir MD5 çakışması bulabiliyor ve RFC 6151, dijital imzalar gibi çakışma direncinin gerektiği yerlerde MD5'in artık kabul edilemez olduğunu belirtiyor.

Yine de MD5; yarım kalmış bir indirme veya diskte değişen tek bir bit gibi kazara oluşan hasarlara karşı sağlama toplamı olarak, ayrıca önbellek anahtarları için ya da güvenilir verilerdeki tekrarları ayıklamak için hâlâ uygundur. Dosya veya sağlama toplamı bir saldırgandan gelebilecekse bunun yerine SHA-256 kullanın.

Hex, Base64 ve eşleşmeyen hash değerleri

MD5 normalde hex olarak yazdırılır; md5sum da çıktıyı bu biçimde verir. Bazı protokoller ise ham 16 baytı Base64 olarak gönderir; örneğin Amazon S3 gibi bulut depolama API'lerinin kullandığı HTTP Content-MD5 başlığı. Bunun için Base64 çıktısını seçin veya mevcut bir değeri Hex'ten Base64'e aracıyla dönüştürün.

Elde ettiğiniz MD5 başka bir aracınkinden farklıysa girdi baytları farklıdır. En yaygın nedenler sondaki bir satır sonu, Windows satır sonları veya farklı bir metin kodlamasıdır: "café" UTF-8'de 5 bayt, ISO-8859-1'de ise 4 bayttır; bu yüzden iki hash değerinin birbiriyle hiçbir benzerliği yoktur.

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

Komut satırında ve kodda MD5

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')

Tarayıcılarda yerleşik olarak bulunan Web Crypto API MD5'i içermez; bu nedenle bu sayfa MD5'i cihazınızda JavaScript ile hesaplar ve hiçbir şey yüklenmez. Sonucun altındaki "Tüm algoritmalar" tablosu aynı girdi için SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 ve CRC-32C değerlerini de gösterir.

Örnekler

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

Sıkça sorulan sorular

MD5 hash değerinin şifresi çözülebilir mi?
Hayır. MD5 bir şifreleme değil, tek yönlü bir hash fonksiyonudur; dolayısıyla çözülecek bir şifre yoktur. "MD5 şifre çözücü" olarak sunulan araçlar yalnızca tablolarında zaten bulunan bir girdiyi döndürebilir. Orijinal veriye daha sonra yeniden ihtiyaç duyacaksanız onu şifreleyin; gizli kalması gerekmiyorsa tamamen geri çevrilebilen Base64 ile kodlayın.
İndirilen bir dosyayı doğrulamak için MD5 yeterli mi?

Kazara oluşan bozulmaları güvenilir biçimde tespit eder. Ancak çakışma üretmek çok ucuz olduğundan, bir dosyayı önceden hazırlayan biri aynı MD5 değerine sahip ikinci, farklı bir dosya oluşturabilir. Güvenlik açısından önemli indirmelerde güvenilir bir kaynaktan alınan SHA-256 hash değerini veya bir imzayı kontrol edin.

MD5 hash değeri ne kadar uzundur?
128 bit, yani 16 bayt: hex olarak 32 karakter veya == ile biten 24 Base64 karakteri. 32 karakterlik bir hex dizesi MD4 ya da NTLM hash değeri de olabilir; Hash Tanımlayıcı olası algoritmaları listeler.
Büyük bir dosyanın MD5 değerini hesaplayabilir miyim?
Evet. Dosyayı açtığınızda baytları yüklenmeden tarayıcınızda hash'lenir. Sınırı, tarayıcınızın kullanabileceği bellek belirler; bu yüzden birkaç gigabaytlık dosyaları md5sum veya certutil ile hash'lemek daha iyidir.
Parolaları MD5 olarak saklamalı mıyım?
Hayır. MD5 hızlı olacak şekilde tasarlanmıştır; tek bir GPU saniyede milyarlarca tahmini deneyebilir. Parolaları, tuz ekleyen ve kasıtlı olarak yavaş çalışan Argon2id, scrypt, bcrypt veya PBKDF2 ile saklayın. Baştan güçlü parolalar oluşturmak için Parola Oluşturucu aracını kullanabilirsiniz.