Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

owengombas/murmurs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

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

Usage

use murmurs::murmur3_x86_32;

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

About

A reliable and production-ready implementation of the Murmur3 hash function in Rust

Topics

Resources

Readme

License

MIT license

Stars

Watchers

Forks

Contributors