Çevrimiçi MD5 ve SHA hash oluşturma
Kriptografik bir hash fonksiyonu herhangi bir girdiyi — bir kelime, bir belge veya 4 GB'lık bir disk imajı — kısa ve sabit uzunlukta bir parmak izine dönüştürür. Girdinin tek bir bitini değiştirdiğinizde parmak izi tamamen değişir. Bu hash oluşturucu, en yaygın beş parmak izini aynı anda hesaplar: MD5, SHA-1, SHA-256, SHA-384 ve SHA-512. Hem metin hem de dosyalar üzerinde çalışır ve her şey tarayıcınızda yerel olarak işlenir.
Özellikler
- Tek seferde beş algoritma, böylece bir web sitesinin hangisini kullandığını tahmin etmek zorunda kalmazsınız.
- Metin ve dosya girdisi. Metinler UTF-8 olarak, dosyalar ise bayt bayt hash'lenir.
- Checksum doğrulama. Beklenen bir değeri yapıştırdığınızda araç hangi algoritmanın eşleştiğini söyler — veya hiçbirinin eşleşmediği konusunda sizi uyarır.
- Büyük harfli çıktı, hex değerlerini büyük harfle gösteren sistemler için.
- Gizli ve çevrimdışı çalışabilme: Dosyalar asla cihazınızdan ayrılmaz.
Yaygın kullanım alanları
İndirilenleri doğrulama. Yazılım satıcıları genellikle yükleyicilerin ve ISO imajlarının yanında bir SHA-256 checksum değeri yayınlar. İndirdiğiniz dosyanın hash değerini hesaplayıp karşılaştırın: değerler eşleşiyorsa, dosya eksiksizdir ve aktarım sırasında değiştirilmemiştir.
Kopya dosyaları tespit etme. Aynı SHA-256 hash değerine sahip iki dosya, pratik anlamda tamamen aynıdır. Hash işlemi, fotoğrafları veya yedekleri tekilleştirmenin (deduplication) hızlı bir yoludur.
Geliştirme ve API'ler. Hash'ler önbellek anahtarları (cache keys), ETag'ler, içerik adresleme ve imzalama şemaları için kullanılır. Burada bir referans değeri oluşturmak, hash hesaplayan kodlarda hata ayıklarken (debugging) yardımcı olur.
Eski sistemler. Bazı eski araçlar hala MD5 veya SHA-1 checksum değerleri bekler. Bunlar kazara oluşan bozulmaları tespit etmek için uygundur, ancak kasıtlı müdahaleleri önlemek için bunlara güvenilmemelidir.
Hash fonksiyonları arasındaki farklar
| Algoritma | Çıktı uzunluğu | Durum |
|---|---|---|
| MD5 | 128 bit (32 hex karakter) | Kırıldı — sadece checksum için |
| SHA-1 | 160 bit (40 hex karakter) | Kırıldı — sadece eski sistemler için |
| SHA-256 | 256 bit (64 hex karakter) | Önerilen |
| SHA-384 | 384 bit (96 hex karakter) | Güçlü |
| SHA-512 | 512 bit (128 hex karakter) | Güçlü |
"Kırıldı" ifadesi, araştırmacıların aynı hash değerine sahip iki farklı girdiyi kasıtlı olarak oluşturabildiği (çakışma - collision) anlamına gelir. SHA-256 ve daha uzun SHA-2 varyantlarına yönelik bilinen pratik bir saldırı yoktur.
Dijital parmak izi yerine rastgele tanımlayıcılara ihtiyacınız varsa, UUID Oluşturucu aracını kullanın. Bir dosyanın ham baytlarını hash'lemek yerine metin olarak kodlamak için Base64 kullanın.