What is HASH?

Hash, belirli bir girdinin (örneğin bir metin veya dosya) benzersiz bir temsilini veren bir fonksiyondur. Genellikle şifreleme, veri doğrulama, veri bütünlüğü ve özetleme gibi amaçlarla kullanılır.
Bu algoritmalar, parolaların doğrudan ele geçirilmesini engelleyerek, süreci oldukça yavaşlatan en önemli etkenlerden birisidir. İşte bu nedenle günümüzde hashleme algoritmaları kullanılır. Parolalar veya çeşitli veriler asla düz metin halinde tutulmaz. Bir siteye kayıt olurken belirlediğiniz parola olduğu haliyle veritabanında saklanmaz. Tek yönlü bir algoritma yardımıyla şifrelenir ve gerçek paroladan alakasız olacak şekilde harf ve sayılardan oluşan bir hale getirilir.
Özetle, hash algoritmaları veri güvenliği ve bütünlüğü açısından kritik bir rol oynar. Bu algoritmalar, verileri güvenli bir şekilde saklamak ve iletmek için kullanılır.
Hash Algoritmaları
Hash fonksiyonları genellikle MD5, SHA-1, SHA-256 gibi adlarla anılır. Ancak, bazı hash fonksiyonları güvenlik açısından zayıf kalmıştır ve güncel önerilerde kullanılmamaktadır.
- MD5: Bir zamanlar yaygın olarak kullanılan ancak artık kullanılmaması gereken bir algoritma olarak kabul edilir.
- SHA-1: Artık güvenli kabul edilmeyen bir algoritma.
- SHA-256 ve SHA-3: SHA-2 ailesinin bir parçası olarak, şu anda güvenli kabul edilen.
File or Data Verification (Dosya veya Veri Doğrulama)
İnternet üzerinden bir dosya indirildiği zaman normal şartlarda veri bütünlüğü kontrol edilmesi gerekmektedir. Bunun yapılma amacı verinin doğruluğunu kontrol etmektir. Bu sayede farklı sitelerden indirilen dosyalara zararlı yazılım veya değiştirildiğini anlayabilirsiniz. Dosyada 1 bit değiştirilse bile hash değeri değişecektir.
Dosyaların veri bütünlüğünü kontrol etme amacıyla da kullanılan SHA-256 (SHA-2), SHA-1, MD5 gibi çeşitli sağlama fonksiyonları bulunmaktadır. Bir sağlama fonksiyonu, çeşitli harf ve rakamları içeren uzun bir veri dizisidir.
Hash değerini incelemek için aşağıdaki programı indirin veya powershell üzerinden getfilehash komutunu kullanabilirsiniz.
Programı çalıştırıp şimdi bir kaç örnek yapalım. İnternetten putty programını indirelim.

Putty programını HashMyFiles yazılımının içine atalım. Bu kısımda SHA-256 yazan değeri kopyalayalım.

Putty yazılımını indirdiğimiz sitenin SHA-256 yazan kısmını seçelim.

Açılan pencerede HashMyfiles yazılımından kopyaladığımı değeri, putty sitesinden olup olmadığını kontrol edelim. Aşağıda görüldüğü gibi yazılım üreticiden bize gelene kadar hiç bir şekilde değiştirilmemiş.

İkinci bir örnekte ise karşı tarafa önemli bir dosya teslim edeceksiniz. Bunun hash değerini saklayabilir, karşı tarafın veriyi doğru aldığını veya size tekrar gönderdiğinde verinin değiştirilmediğini doğrulayabilirsiniz.
Aşağıda bir tane dosya içinde bir kaç kelime yazıp SHA-256 değerine bakıyorum.

Metin belgesindeki dosyanın içindeki bir harfi değiştirip, programda tekrar açıyorum ve SHA-256 kısmını inceliyorum. Resimlerde görüldüğü gibi hash değerinin nasıl değiştiğini rahatlıkla görebilirsiniz.
