Ana içeriğe geç
FreeOnlineTools Go
Türkçe
Açıklama

Hashing Nedir? Hash Fonksiyonlarının Tam Açıklaması

FreeOnlineTools Team tarafından · 2026-09-02 güncellendi

Hızlı Yanıt

Hashing, herhangi bir input'i one-way fonksiyon ile fixed-size output'a (hash) dönüştürür. Aynı input her zaman aynı hash üretir; farklı input'lar farklı hash üretir (collision resistance). Ücretsiz Hash Generator ile tarayıcınızda SHA-256, SHA-1 ve MD5 hash hesaplayın.

giriiş

Hashing, herhangi bir boyuttaki input verisini hash veya digest denilen fixed-size output'a dönüştürme işlemidir. Hash fonksiyonu, bu dönüştürmeyi yapan algoritmadır. Kriptografik hash fonksiyonları, veri bütünlüğü, parola saklama ve dijital imzalar için yararlı özel özelliklere sahiptir. Şifrelemenin aksine, hashing one-way'dir —input'i hash'ten geri alamazsınız.

Adım adım

  1. Karma işlevi özelliklerini anlama

    Kriptografik karma fonksiyonlarının dört temel özelliği vardır: (1) Deterministik — aynı girdi her zaman aynı çıktıyı verir. (2) Hızlı hesaplama. (3) Tek yönlü — karmadan girdiyi kurtarmak mümkün değil. (4) Çarpışmaya dayanıklı — aynı karma değere sahip iki farklı girdi bulmak mümkün değildir. (5) Çığ etkisi — küçük girdi değişikliği, çıktıyı büyük ölçüde değiştirir.

  2. Ortak algoritmaları öğrenin

    SHA-256 (256 bit çıkış, 64 hex karakter) Bitcoin, TLS ve dijital imzalarda kullanılan modern standarttır. SHA-512 daha güvenlidir ancak daha yavaştır. SHA-3 en yeni ailedir. MD5 (128-bit) ve SHA-1 (160-bit) çarpışma direnci açısından bozulmuştur ve güvenlik amacıyla kullanılmamalıdır.

  3. Hashing'i şifrelemeden ayırt etme

    Hashing tek yönlüdür; bunu tersine çeviremezsiniz. Şifreleme iki yönlüdür; bir anahtarla şifreyi çözebilirsiniz. Karma, bütünlük ve doğrulama içindir; şifreleme gizlilik içindir. Kurtarmanız gereken verileri depolamak için asla karma kullanmayın.

  4. Hashing'i doğru kullanın

    Veri bütünlüğü için verilere karma işlemi uygulayın ve iyi olduğu bilinen bir karma işlemiyle karşılaştırın. Parolalar için, çok hızlı ve kaba kuvvete karşı savunmasız olan ham SHA-256 değil, benzersiz bir tuza sahip, yavaş bir anahtar genişletme karma değeri (bcrypt, scrypt, Argon2) kullanın.

Örnekler

SHA-256 karma

Giriş: Hello, World!

Çıkış: dffd6021bb2bd5b0af676290809ec008dfca50a8d29e6ac0a52c2d7e9f0a3b0c

Çığ etkisi

Giriş: Selam Dünya! (Merhaba Dünya'ya karşı mı?)

Çıkış: Tek karakter değişikliğine rağmen tamamen farklı hash

MD5 karma (bozuk, yalnızca eski)

Giriş: Hello, World!

Çıkış: ed0760733d7505e9ceacf8af225020ac

Yaygın Sorunlar

  • Güvenlik için MD5 veya SHA-1 kullanılması — her ikisi de çarpışmaya karşı dayanıklılık için bozulmuştur. Herhangi bir güvenlik amacıyla SHA-256 veya daha güçlü bir sürüm kullanın.
  • Şifreleri tuz olmadan karma hale getirmek — aynı şifreler aynı karmaları üreterek gökkuşağı tablo saldırılarına olanak tanır. Benzersiz bir tuzla bcrypt, scrypt veya Argon2 kullanın.
  • Hashing'i şifrelemeyle karıştırmak: Hashing tek yönlüdür (geri döndürülemez); şifreleme iki yönlüdür (bir anahtarla şifresi çözülebilir).
  • Karma değerlerin benzersiz olmasını beklemek — çarpışmalar teorik olarak mümkündür ancak güvenli algoritmalar için pratik olarak mümkün değildir (SHA-256 2^256 olası çıktıya sahiptir).

İpuçları

  • Veri bütünlüğü doğrulaması, içerik adresleme ve dijital imzalar için SHA-256 kullanın.
  • Parola depolamak için bcrypt, scrypt veya Argon2 kullanın; ham değil SHA-256. Bu algoritmalar kaba kuvvete direnmek için anahtar genişletmeye sahiptir.
  • Karma işlemi tek yönlüdür; asla kurtarmanız gereken verileri depolamak için kullanmayın. Gizli veriler için şifreleme kullanın.
  • Tarayıcınızda SHA-256 ve diğer karmaları anında hesaplamak için Hash Oluşturucumuzu kullanın.

İlgili Araçlar

İlgili Kılavuzlar

Referanslar