diff --git a/algorithms/fnv1_64.py b/algorithms/fnv1_64.py new file mode 100644 index 0000000..c234359 --- /dev/null +++ b/algorithms/fnv1_64.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +DESCRIPTION = "FNV1 hash (64-bit)" +TYPE = 'unsigned_long' +TEST_1 = 10612290624328353880 + + +def hash(data): + val = 0xcbf29ce484222325 + for c in data: + val = ((0x100000001b3 * val) ^ c) & 0xffffffffffffffff + return val diff --git a/algorithms/fnv1a_64.py b/algorithms/fnv1a_64.py new file mode 100644 index 0000000..0bc0c4d --- /dev/null +++ b/algorithms/fnv1a_64.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +DESCRIPTION = "FNV1a hash (64-bit)" +TYPE = 'unsigned_long' +TEST_1 = 14074705352429455374 + + +def hash(data): + val = 0xcbf29ce484222325 + for c in data: + val = (0x100000001b3 * (c ^ val)) & 0xffffffffffffffff + return val