Hash Oluşturucu

Herhangi bir metnin MD5, SHA-1, SHA-256, SHA-512 ve CRC-32 değerleri, tarayıcınızda hesaplanır.

Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.

Bir hash, herhangi bir uzunluktaki metni sabit uzunlukta kısa bir parmak izine dönüştürür. Aynı girdi her zaman aynı özeti verir ve herhangi bir yerde tek bir karakteri değiştirmek sonucun tamamını değiştirir; iki şeyin, yan yana karşılaştırmadan aynı olup olmadığını anlamak için işe yaramasını sağlayan da budur.

Nasıl çalışır

Metin önce UTF-8 olarak kodlanır, ardından hash bu baytlar üzerinden hesaplanır. Bu, ASCII üstündeki her şey için önemlidir: é iki bayttır, dolayısıyla özeti, başka bir kodlamadaki tek baytlık bir é’nin özeti değildir. İki araç aksanlı bir dize üzerinde anlaşamıyorsa, neredeyse her zaman algoritmada değil bu noktada ayrışırlar.

Her şey burada, sayfada hesaplanır. Beş algoritma, tarayıcının kriptografi API’sinden alınmak yerine üç nedenle elle yazılmıştır: bu API şifresiz HTTP üzerinden kullanılamaz, MD5 hesaplamayı kesinlikle reddeder ve eşzamansızdır, oysa bu araçların geri kalanı değildir.

Özetler küçük harfli onaltılık olarak gösterilir; komut satırı araçlarının yazdırdığı da budur. Büyük harf anahtarı, bazı sistemler onları öbür biçimde sakladığı için oradadır; ikisi arasında göz kararı karşılaştırma yapmak, var olmayan bir farkı görmenin iyi bir yoludur.

Örnekler

Durum Girdi Sonuç
Kısa bir dizgenin SHA-256 hash'i hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Aynı dizgenin MD5 hash'i hello 5d41402abc4b2a76b9719d911017c592
Tek bir karakter farklı, hiçbir şey aynı kalmıyor hellp d0763edaa9d9bd2a9516280e9044d885

Sık sorulan sorular

Bir hash’ten özgün metni geri alabilir miyim?

Hayır, ve hiçbir araç alamaz. Hash şifreleme değildir: bilgi kaybolmuştur; tek bir karakterin özeti de bir romanınki de aynı uzunluktadır. Bir hash’i “çözmeyi” teklif eden siteler, onu birinin yaygın şifrelerden önceden hesapladığı bir özet tablosunda arar; bu da yalnızca o listede olan girdilerde işe yarar.

Bir şifrenin hash’ini bununla mı hesaplamalıyım?

Hayır. Şifreler, yavaş olacak şekilde tasarlanmış bir algoritmaya (bcrypt, scrypt ya da Argon2), her biri için rastgele bir tuza ve sunucunuzda yapılan bir hesaplamaya ihtiyaç duyar. Bu beşi hızlıdır; bu da tam olarak yanlış özelliktir: bir ekran kartı saniyede milyarlarca MD5 adayı dener. Burada yazdığınız hiçbir şey tarayıcınızdan çıkmaz, ama sonuç yine de saklanmaması gereken şey olurdu.

MD5 ve SHA-1 için “kırılmış” ne demek?

Birinin, aynı özete sahip iki farklı girdiyi bilerek oluşturabileceği demektir; bu ikisi için de kanıtlanmıştır. Dolayısıyla, birinin onu değiştirmek için bir nedeni varsa, hiçbiri bir dosyanın size vaat edilen dosya olduğunu kanıtlayamaz. İkisi de en çok kullanıldıkları iş için hâlâ gayet geçerlidir: bir indirmenin bozuk geldiğini ya da iki dosyanın birbirinin kopyası olduğunu fark etmek.

Özetim neden başka bir aracınkiyle eşleşmiyor?

Neredeyse her zaman sondaki bir satır sonu ya da farklı bir karakter kodlaması yüzünden. Satır sonuyla biten bir dosyanın hash’ini hesaplamak, metnin o satır sonu olmadan hash’ini hesaplamakla aynı şey değildir ve her bayt sayılır. Bu araç, kutudaki karakterlerin UTF-8 olarak kodlanmış hâlinin hash’ini hesaplar; başka hiçbir şeyin değil.

Bilmekte fayda var

  • Her şey tarayıcınızda olur. Yapıştırdığınız şey yüklenmez, kaydedilmez ve saklanmaz.

Kaynaklar

Tüm Kod araçları