Skip to main content
Skip to - Close
Skip to - Close
Completion requirements

Hash Fonksiyonları

Hash fonksiyonları, belirli bir girdi (input) değerini alıp bunu sabit bir uzunlukta farklı bir çıktı (output) değerine dönüştüren matematiksel işlemlerdir. Hash fonksiyonları genellikle kriptografi ve güvenlik uygulamalarında kullanılırlar. İşlem aşağıdaki gibi özetlenebilir:

Girdi --> Hash Fonksiyonu --> Çıktı

Bu işlemde, girdi değeri her zaman aynı boyutta olabilir ancak çıktı değeri sabit bir boyuta sahip olur. Ayrıca, herhangi bir değişiklik yapılırsa girdi değeri değişecek ve buna bağlı olarak hash fonksiyonunun çıktısı da değişecektir.

Hash Fonksiyonları Kullanım Alanları

Hash fonksiyonları genellikle aşağıdaki alanlarda kullanılırlar:

  • Veri bütünlüğü kontrolü: Bir dosyanın hash değeri hesaplanarak sonradan bu dosyada bir değişiklik yapılmış mı kontrol edilebilir.
  • Mesaj doğrulama: Bir mesajın hash değeri alınarak, alınan mesajın doğruluğu kontrol edilebilir.
  • Şifreleme: Şifreleme işlemi için kullanılan anahtarlar da hash fonksiyonları ile oluşturulabilir.

Hash Fonksiyonlarının Özellikleri

Hash fonksiyonlarının aşağıdaki özelliklere sahip olması gerekir:

  • Deterministik: Herhangi bir girdi değeri için her zaman aynı çıktı değerini üretmelidir.
  • Kısaltıcı (one-way): Çıktı değerinden, girdi değerine geri dönüş yapılamamalıdır.
  • Hızlı: Hash fonksiyonunun hesaplama süresi çok uzun olmamalıdır.
  • Dirençli: Hash fonksiyonu, çıktı değeri belli olan bir girdiye göre, o girdiye benzer bir girdiden farklı bir çıktı üretmelidir. Ayrıca, bir çıktı değerinden, o değeri üreten girdiye ulaşmak için çalışma süresi çok uzun olmalıdır. Bu özellik çarpışma direnci olarak da bilinir.
  • Dağıtıcı: Girdi değerindeki küçük bir değişiklik, çıktı değerinde büyük bir değişiklik yaratmalıdır.

Hash nasıl çalışır?

Resim kaynağı: https://www.okta.com/identity-101/hashing-algorithms/

Open in new window