Hashing nedir?

Verilere erişim veya güvenlik için hash değerleri üretmek. Bir karma değer (veya basitçe karma), aynı zamanda bir mesaj özeti olarak da adlandırılır, bir metin dizesinden üretilen bir sayıdır. Karma, metnin kendisinden önemli ölçüde daha küçüktür ve başka bir metnin aynı karma değerini üretmesi son derece düşük bir olasılık olacak şekilde bir formül tarafından oluşturulur.

Hash'ler, iletilen mesajların tahrif edilmediğinden emin olmak için kullanıldıkları güvenlik sistemlerinde rol oynar. Gönderen, mesajın bir karmasını oluşturur, şifreler ve mesajın kendisiyle birlikte gönderir. Alıcı daha sonra hem mesajın hem de karmanın şifresini çözer, alınan mesajdan başka bir karma üretir ve iki karmayı karşılaştırır. Eğer aynıysa, mesajın sağlam bir şekilde iletilme olasılığı çok yüksektir.

Hashing, veri kayıtlarına erişmenin yaygın bir yöntemidir. Örneğin bir isim listesi düşünün:

  • John Smith
  • Sarah Jones
  • Roger Adams
  • Bu kayıtlar için karma tablo adı verilen bir indeks oluşturmak için, benzersiz bir sayısal değer üretmek üzere her isme bir formül uygularsınız. Yani şöyle bir şey elde edebilirsiniz:

  • 1345873 John smith
  • 3097905 Sarah Jones
  • 4060964 Roger Adams
  • Ardından, Sarah Jones içeren kaydı aramak için, formülü yeniden uygulamanız yeterlidir; bu, doğrudan kayda dizin anahtarını verir. Bu, eşleşen kayıt bulunana kadar tüm kayıtları aramaktan çok daha etkilidir.