Skip to content

eightomic/chargehash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ChargeHash

ChargeHash

Table of Contents

Introduction

ChargeHash is the hyper-efficient Murmur3 that has endian-independent memory reading, excellent non-cryptographic output quality, excellent non-cryptographic security properties (light resistance against HashDoS and length-extension attacks), hyper-fast speed and low-footprint implementation.

Author

ChargeHash was created by William Stafford Parsons as a product of Eightomic.

License

ChargeHash uses a proprietary license.

Implementation

ChargeHash is implemented in C (requiring the stdint.h header to define an 8-bit, unsigned integral type for uint8_t and a 32-bit, unsigned integral type for uint32_t).

chargehash.c

The chargehash1x32 function uses a uint32_t seed integer to hash a key array of key_length uint8_t integers and return a uint32_t digest.

Speed

Each of the following results log the fastest process execution speed (in cycles per operation) among several repetitions of the Init std::unordered_map speed benchmark from SMHasher3 Hashmap speed tests (using default cmake compiler settings from an AMD A4-9120C).

Hash Function Cycles SMHasher3 --extra Failures
chargehash1x32 957.242 0
murmur3a 1010.093 82