Bir Hesap Makinesi Nedir?

Bir karma hesap makinesi birkaç şey olabilir, ancak çok geniş anlamda, bir tür giriş kabul eden bir programa veya işleve atıfta bulunur ve daha sonra bu sayı, büyük bir sayı veya bir blok gibi bir çıktı değeri oluşturmak için bir algoritma yoluyla çalıştırılır. semboller. Terim sıklıkla veri iletimi için algoritma ile bir anahtar türü oluşturan bir programa atıfta bulunmak için kullanılır, böylece iletilen verileri alan herhangi biri, verilerin bozulmamış ve değiştirilmemiş olup olmadığını görmek için aynı anahtarı elde etmek için aynı algoritmayı kullanabilir. Bilgisayar programlamasında, "hash hesap makinesi" terimi, bazı veri türlerini, bilgilerin saklanabileceği bir dizine bir dizin oluşturmak için başka bir algoritma tarafından işlenen bir hash anahtarına dönüştüren bir karma işlevini belirtmek için kullanılabilir. Hesap makinesinin her iki konsepti de benzer olsa da, sonuçlar çok farklıdır ve genellikle birbiriyle değiştirilemez. Bir karma hesap makinesinin ortak özelliklerinden biri, kullanımına bakmaksızın, programın nerede veya ne zaman çalıştırıldığına bakılmaksızın, üretilen karma değerin belirli bir veri parçası için her zaman aynı olmasıdır.

Özünde, karma hesap makinesi, bazı verilerden karma oluşturan yalnızca bir program veya işlevdir. Bir karma, sadece bir değer için bir kelimedir ve nasıl kullanıldığına bağlı olarak, bir sayıdan yüzlerce alfanümerik karakter dizisine kadar olan herhangi bir şey olabilir. Bir karma oluşturmak için bir karma hesap makinesine eklenen veriler de hemen hemen her şey olabilir. Veri aktarımında hata kontrolü için kullanıldığında, bir karma değerin kaynağı genellikle e-posta veya resim dosyası gibi eksiksiz bir belge veya veri dosyasıdır. Programlamada, karma değeri veri kayıtlarının karma tabloda nerede depolandığını belirlemek için kullanıldığından, giriş değeri genellikle bir kişinin soyadı, telefon numarası veya telefon numarası gibi benzersiz bir veri kaydının bir parçasıdır. hesap numarası.

Veri iletimi durumunda, bir karma hesap makinesi iletilen bilgi için benzersiz karma değeri oluşturmak için yüzlerce farklı matematiksel algoritmadan herhangi birini kullanır. Bu, tüm baytların tüm değerlerini bir dosyaya eklemek kadar basit bir şey olabilir; bu durumda karma değer toplamdır. Aynı zamanda, bit bloklarını saymayı veya farklı sayı dizilerini gereksiz yere işlemeyi içeren çok daha karmaşık olabilir. Bununla birlikte, herhangi bir karma algoritmanın en önemli yönlerinden biri, aynı veri giriş olarak kullanılıyorsa, ortaya çıkan karma değerin her zaman aynı olması gerektiğidir. Bu kavram, bir dosyanın kendi hesaplanan karma değeriyle iletilmesi durumunda, verilerin alıcısının, verilerin eşleşip eşleşmediğini doğrulamak için aynı algoritma ile bir karma hesap makinesi kullanabileceği anlamına gelir. ve hata veya değişiklik olmadan.

Programlamada, "karma hesap makinesi" terimi sıklıkla bir veriyi bir karma değerine dönüştüren bir işlevi tanımlamak için kullanılır. Veri aktarımından farklı olarak, bu durumda hesap makinesi tarafından üretilen sayı mutlaka doğrulama için kullanılmaz, bilgilerin saklanacağı bir karma tabloya bir endeks hesaplanır. Daha fazla sayıda veri kaydının tahmin edilebileceği gibi daha küçük bir hash tablosuna yerleştirilmesine izin vermek için bir aracılık hash değeri hesaplanır, bazı kayıtlar belirli koşullar altında aynı değerleri oluşturur. Hem bir karma değeri hesaplamak için kullanılan algoritma hem de girdi olarak kullanılan veriler bir karma tablo için oldukça rasgeledir ve genellikle uygulamaya özeldir.