diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2024-11-03 14:00:29 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2024-11-03 14:00:29 (GMT) |
commit | 54d05927811a59db294af8a24258c0b837360492 (patch) | |
tree | 527064eea471829b12f3b0f5a5b2278cbe4524c2 /src/common/fnv1a.c | |
parent | c24b37fd74ae12a90669731f150ac99213fad5b6 (diff) |
Load and store various values.
Diffstat (limited to 'src/common/fnv1a.c')
-rw-r--r-- | src/common/fnv1a.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/common/fnv1a.c b/src/common/fnv1a.c index a8afd0a..057d6c9 100644 --- a/src/common/fnv1a.c +++ b/src/common/fnv1a.c @@ -2,7 +2,7 @@ /* Chrysalide - Outil d'analyse de fichiers binaires * fnv1a.c - implémentaton du calcul rapide d'empreintes de chaînes * - * Copyright (C) 2012-2018 Cyrille Bagard + * Copyright (C) 2012-2024 Cyrille Bagard * * This file is part of Chrysalide. * @@ -87,3 +87,34 @@ fnv64_t fnv_64a_hash(const char *str) return result; } + + +/****************************************************************************** +* * +* Paramètres : data = données binaires à traiter. * +* size = quantité de ces données. * +* * +* Description : Détermine l'empreinte FNV1a d'une séquence d'octets. * +* * +* Retour : Valeur calculée. * +* * +* Remarques : - * +* * +******************************************************************************/ + +fnv64_t fnv_64a_hash_data(const uint8_t *data, size_t size) +{ + fnv64_t result; /* Valeur à retourner */ + size_t i; /* Boucle de parcours */ + + result = FNV1A_64_INIT; + + for (i = 0; i < size; i++) + { + result ^= (fnv64_t)data[i]; + result *= FNV_64_PRIME; + } + + return result; + +} |