#hash #digest #checksum #collision

no-std tenthash

A high-quality, non-cryptographic, 160-bit hash function

5 releases (breaking)

0.5.0 Jan 1, 2025
0.4.0 Sep 28, 2024
0.3.0 Jan 31, 2024
0.2.0 Jan 12, 2023
0.1.0 Sep 5, 2022

#202 in Algorithms

Download history 178/week @ 2024-09-28 7/week @ 2024-10-05 1962/week @ 2024-12-07 5226/week @ 2024-12-14 4888/week @ 2024-12-21 4995/week @ 2024-12-28 4745/week @ 2025-01-04

20,657 downloads per month
Used in ra_ap_rust-analyzer

MIT/Apache

12KB
118 lines

TentHash Rust

Latest Release Documentation

Rust implementation of TentHash. TentHash is a high-quality, non-cryptographic, 160-bit hash function. It is also portable, easy to implement, and reasonably fast.

TentHash's target applications are data fingerprinting, content-addressable systems, and other use cases that don't tolerate hash collisions.

Importantly, TentHash is explicitly not intended to stand up to attacks, and should never be used where the hash function itself has security considerations. Its robustness against collisions is only meaningful under non-adversarial conditions. In other words, like a good tent, it will protect you from the elements, but will do very little to protect you from attackers.

License

This project is licensed under either of

at your option.

Contributing

Contributions are absolutely welcome! Please keep in mind that this crate aims to be:

  • no-std and allocation-free. PRs that use allocation, etc. are very likely to be rejected.
  • As small as it reasonably can be, including transitive dependencies. PRs that pull in dependencies--especially deep dependency trees--are likely to be rejected unless they really pull their weight.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you will be licensed as above (MIT/Apache dual-license), without any additional terms or conditions.

No runtime deps