# hashes API reference

> The `hashes` package, from hashes 0.1.3, as published on mojoshelf (commit 395aca597f94), by `mojo doc` from Mojo 1.2.0.

## Modules

- [hashes.crc32](https://magmalake.dev/s/hashes/api/crc32.md): CRC-32 (IEEE 802.3 / zlib / gzip / PNG) — reflected polynomial 0xEDB88320, init/xorout 0xFFFFFFFF. Table-driven with a slice-by-8 fast path.
- [hashes.murmur3](https://magmalake.dev/s/hashes/api/murmur3.md): MurmurHash3_x86_32, plus the Iceberg Appendix-B pre-hash wrappers.
- [hashes.xxh64](https://magmalake.dev/s/hashes/api/xxh64.md): XXH64 per https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md.

Hashes — CRC-32, MurmurHash3 x86-32, and XXH64 in pure Mojo.

The three hashes Apache Iceberg and Parquet need: CRC-32 (deletion-vector
checksums, Parquet page CRCs, gzip), MurmurHash3 x86-32 seed 0 (Iceberg's
`bucket[N]` partition transform), and XXH64 seed 0 (Parquet split-block
bloom filters).
