Rust implementation of the CRC-32-Castagnoli algorithm with hardware acceleration where possible.
Hardware acceleration on the following architectures:
- x84-64 with SSE 4.2
- All stable versions of Rust
- If SSE 4.2 is enabled at compile time, it will only build the SSE implementation. Otherwise, the
cpuid
is used to find the best implementation at runtime.
- aarch64 with crc feature
- Only available on rust version >= 1.80.0 or nightly
All other processors utilize a software fallback.
First, add this to your Cargo.toml
:
[dependencies]
crc32c = "0.6"
extern crate crc32c;
fn main() {
let message = b"Hello world!";
let crc = crc32c::crc32c(message);
println!("hash = {}", crc);
}
You may use this code under either the Apache 2.0 license or the MIT license, at your option.