Bir karma işlevi olarak da bilinen karma algoritması, bilgisayar programlamasında, büyük bir veri bölümünü karma anahtarı olarak bilinen daha küçük bir temsil sembolüne dönüştürmek için kullanılan matematiksel bir prosedürdür. Karma algoritmaların ana kullanımı büyük miktarda bilgi veritabanında gerçekleşir. Her veri koleksiyonuna kısa bir sembol veya onu temsil eden kod olan bir karma anahtarı atanır. Bir kullanıcının bu veri parçasını bulması gerektiğinde, sembol veya kodu girer ve bilgisayar tüm veri parçasını görüntüler.
Karma işlemi için, bu işlem adı verilen, çalışması için bir karma işlevi veya karma algoritması gerekir. Bu, bilgisayara nasıl hash anahtarının alınacağını ve temsil ettiği verilerle eşleştirileceğini söyler. Bilgisayar programında yuva veya kova olarak bilinen alanlar bilgi depolar ve her bir anahtar belirli bir yuvaya veya kovaya bağlanır.
Bir karma algoritmasını tam olarak anlamak için, bir sözlük gibi çalışan bir bilgisayar programını hayal etmek en iyisidir. Alfabedeki her harf bir karma anahtarı temsil eder. Belirli bir harfle başlayan tüm kelimeleri içeren sayfalar yuva veya kova olarak sayılır. Bir kişi, A harfi ile başlayan kelimelerin bir listesini ararsa, bir anahtarı temsil eden A harfini bilgisayara yazabilir ve karma algoritması bu anahtarla eşleşen slotu arayabilir.
Daha sonra o yuvadaki tüm veri parçalarını alır. Bu durumda, A harfiyle başlayan tüm kelimeleri döndürür. Bu örnek, bir karma algoritmasının nasıl çalıştığının basitleştirilmiş bir versiyonunu gösterir. Ayrıca bir hash anahtarını belirli bir veri parçasına bağlayabilir ve birden fazla parça yerine yalnızca bu veri parçası görünebilir.
Tüm işlem bir karma tablo veya karma harita içinde bulunur. Bu tablo verileri ve ona karşılık gelen eşleşen anahtarları kaydeder. Daha sonra kullanıcı istediğinde bir anahtarı bir veri parçasına bağlamak için bir karma algoritması kullanır. Deneylerinden benzer kayıtları karşılaştırmaya çalışan bir araştırmacı, benzer herhangi bir veriye anahtar atanan bir karma algoritma oluşturabilir. Daha sonra, karşılaştırması için ona tüm benzer veri parçalarını bir kerede gösterecekti.


