murmurs: A Reliable Murmur3 Hash in Rust
murmurs provides a reliable and production-ready implementation of the Murmur3 hash function, faithfully translated from the original C++ reference and usable in the same way.
The core logic resides in src/murmur3.rs, and its correctness is verified against the latest version of the official smhasher implementation through tests using C FFI bindings.
Installation
Add the following to your Cargo.toml:
[dependencies]
murmurs = "1.0" # or the latest published version
murmurs = "1.0" # or the latest published version
Usage
use murmurs::murmur3_x86_32;
fn main() {
let hash = murmur3_x86_32(b"hello world", 0);
println!("{}", hash);
}
fn main() {
let hash = murmur3_x86_32(b"hello world", 0);
println!("{}", hash);
}
Then run:
cargo run
Testing
The implementation is automatically tested against the reference C++ implementation from smhasher using FFI bindings.
To run the tests:
cargo test
Status
- Verified against the original
MurmurHash3.cpp - Consistent 32-bit and 128-bit output
- Portable and deterministic
- Can be used the same way as the C++ reference