Nasıl kullanılır
- 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.
- Orijinal hash başka bir karakter kümesindeki bir metinden üretilmediyse "Metin kodlaması" ayarını UTF-8 olarak bırakın.
- "Çıktı biçimi" listesinden "hex (küçük harf)", "HEX (büyük harf)" veya "Base64" seçeneğini belirleyin.
- İ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.is | 2e3c0e8b828164a8db7f62146ca87e14 |
你好 | 7eca689f0d3389d9dea66ae112e5cfd7 |
Sıkça sorulan sorular
MD5 hash değerinin şifresi çözülebilir mi?
İ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?
== 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?
md5sum veya certutil ile hash'lemek daha iyidir.