Module: Datadog::Core::Utils::FNV
- Defined in:
- lib/datadog/core/utils/fnv.rb
Constant Summary collapse
- FNV_OFFSET_BASIS =
FNV-1a 64-bit non-cryptographic hash function.
14695981039346656037- FNV_PRIME =
1099511628211- FNV_64_BIT_MASK =
0xFFFFFFFFFFFFFFFF
Class Method Summary collapse
Class Method Details
.fnv1_64(data) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/datadog/core/utils/fnv.rb', line 15 def self.fnv1_64(data) hash_value = FNV_OFFSET_BASIS data.each_byte do |byte| hash_value ^= byte hash_value = (hash_value * FNV_PRIME) & FNV_64_BIT_MASK end hash_value end |