e
sv

Hash fonksiyonları bölüm 2: Uygulamalar ve örnekler

avatar

Yazılım Method

  • e 0

    Mutlu

  • e 0

    Eğlenmiş

  • e 0

    Şaşırmış

  • e 0

    Kızgın

  • e 0

    Üzgün

Makalenin ilk bölümünde hash fonksiyonunun tam olarak ne olduğu anlatıldıktan sonra, ikinci bölüm şimdi en önemli olası uygulamalara geçmektedir. Son olarak, yaygın olarak kullanılan bir karma işlevin bir örneğini sunar.

Karma işlevi için uygulamalar

Aşağıdaki bölümlerde, bir hash fonksiyonunun hangi olası uygulamaları sunduğunu öğreneceksiniz. Ancak bu liste tam değildir. Ek olarak, hash fonksiyonları diğer birçok uygulama alanı ile karakterize edilir.

sağlama toplamı

Sağlama toplamları, dijital belgeler iletilirken kullanılır – örneğin İnternet üzerinden. Gönderilmeden önce belgenin tüm içeriğine bir karma işlevi uygulanır. Sonuç sağlama toplamı olarak adlandırılır ve belgenin sonuna eklenir. Alıcı artık alınan içeriğe aynı karma işlevini uygulayabilir. Sonuç sağlama toplamı ile eşleşirse, belgenin hatasız gönderildiği varsayılabilir. Değer sağlama toplamı ile eşleşmiyorsa, bir hata meydana geldiği anlamına gelir. Bu durumda yeniden gönderim talebinde bulunmak gerekir.

veritabanları

Birçok veritabanı sistemi , bir veritabanındaki değerleri aramak için karma tabloları kullanır. Özellikle kapsamlı verilerle, gerçek değeri aramak çok zaman alıcı olacaktır. Bu nedenle, yazılım karma tabloları oluşturur. Bu şekilde, yönetim sistemi bir değer ararken önce hash değerini kontrol edebilir. Yalnızca bir eşleşme bulduğunda gerçek verileri alır. Bu, erişim sürelerini büyük ölçüde azaltabilir.

şifre istemi

Birçok sistem, parolaları saklamak için karma işlevleri kullanır. Şifreyi veritabanında düz metin olarak saklamak yerine sadece hash değerini kaydederler. Kullanıcı daha sonra şifresini girdiğinde, sistem hash değerini hesaplar ve şifre veri tabanındaki giriş ile karşılaştırır. Değerler eşleşirse erişim izni verilir. Parola veritabanına erişim elde eden bir saldırgan bu bilgilerden gerçek değerleri çıkaramadığı için güvenliği artırır. Bu arada, bu bir şifreleme değil. Hash fonksiyonu sadece hash değerinin çıkış değerinden hesaplanmasına izin verir. Ancak bunun tersine, hash’den orijinal girdinin değerini belirlemek mümkün değildir. Bu nedenle kodun şifresini çözmek mümkün değildir.

Blockchain karma işlevi

Hash fonksiyonu da blockchainler için büyük önem taşımaktadır. Her yeni işlem ile mevcut blok zincirine başka bir blok eklenir. Manipülasyonu önlemek için yeni blok her zaman mevcut zincirin karma değerini içerir. İşlemde bir değişiklik varsa, içerikler sonraki blokta depolanandan farklı bir karma değerle sonuçlandığından, bu hemen görülecektir.

çiçek filtresi

Büyük miktarda veriden belirli bilgileri verimli bir şekilde depolamak için bir çiçeklenme filtresi kullanılır. Bu, yukarıdaki ders için öğrenci seçme örneğine benzer şekilde çalışır. Bloom filtresi , seçilen bilgileri güvenilir bir şekilde kontrol etmenizi sağlar. Ancak diğer detaylar hakkında kesin bir açıklama yapılamaz. Bununla birlikte, yukarıda gösterilen örneğin aksine, Bloom filtresi, minimum bilgi kaybıyla mümkün olan en küçük depolama alanını sağlamak için genellikle birkaç karma işleviyle çalışır.

Önemli bir karma işlevine bir örnek

Pratikte büyük önem taşıyan oldukça basit bir özet işlevine bir örnek, kalan işlevidir. Bu genellikle karma tablolar için kullanılır. Aşağıdaki gibi tanımlanır:

h(k) = k mod m

Mod terimi modulo anlamına gelir – yani tamsayı bölümünün geri kalanı. m değişkeni, karma tablosunun boyutunu belirtir. k değişkeni de bir belgenin değeri anlamına gelir. İçinde oluşan her bir karakter için ASCII kodu belirlenir. Bu değerler daha sonra eklenir. Daha uzun belgelerdeki sayısız kombinasyon biçimi nedeniyle, aynı değerin birden fazla ortaya çıkması pek olası değildir. Değerler seti, kullanılan hash tablosunun boyutuyla mükemmel bir şekilde eşleşecek şekilde modulo aracılığıyla sınırlandırılır.

Bunu göstermek için “Merhaba!” metninin hash değerini hesaplayalım. 32’lik bir tablo boyutu varsayıyoruz. İlk önce bireysel karakterler için ASCII değerlerini ararız:

H 72 a 97 l 108 o 111 ! 33

Bundan şimdi toplamı oluşturuyoruz, bu sayede elbette l harfinin değerini iki kez hesaplamamız gerekiyor. Bu, şu toplamı verir: 529. Bundan moduloyu hesaplarsak, 17 değerini alırız. Bu nedenle, karşılık gelen içeriğe sahip belge, karma tablosunun 17. pozisyonuna girilir.

Sonuç: Karma işlevleri bilgisayar biliminde önemli bir rol oynamaktadır

Hash fonksiyonları bilgisayar bilimlerinde çok önemlidir. Bu, manipülasyonların veya iletim hatalarının belirlenmesine izin verir. Ek olarak, bir veri hacmi için depolama alanını büyük ölçüde azaltmak için karma işlevleriyle mümkündür – ancak yalnızca önemli bir bilgi kaybı pahasına. Hash fonksiyonları, orijinal içeriğin değerden hesaplanmasına izin vermez. Ancak bunları uygun şekilde seçerseniz, orijinal değerlerle ilgili ayrı ayrı bilgileri verimli bir şekilde depolamak veya bir belgenin içeriğinin doğruluğunu kontrol etmek için bunları kullanabilirsiniz.

etiketlerETİKETLER
Üzgünüm, bu içerik için hiç etiket bulunmuyor.

Sıradaki içerik:

Hash fonksiyonları bölüm 2: Uygulamalar ve örnekler