#hash #digest #checksum #collision

no-std tenthash

A robust 160-bit non-cryptographic hash function

4 releases (breaking)

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

#412 in Algorithms

Download history 167/week @ 2024-09-26 18/week @ 2024-10-03

185 downloads per month

MIT/Apache

11KB
118 lines

TentHash Rust

Latest Release Documentation

Rust implementation of TentHash, a 160-bit non-cryptographic hash function.

WARNING: TentHash's design is not yet finalized, and digest results may change before the spec is declared 1.0.

TentHash is a high-quality, reasonably fast, large-output hash. Its target applications are data fingerprinting, checksums, content-addressable systems, and other use cases that don't tolerate hash collisions.

Importantly, TentHash is explicitly not intended to stand up to attacks. 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