16 releases
0.6.8 | Jun 9, 2024 |
---|---|
0.6.5 | Feb 8, 2024 |
0.6.4 | Jul 23, 2023 |
0.6.3 | Apr 12, 2022 |
0.2.0 | Nov 11, 2017 |
#19 in Algorithms
1,689,033 downloads per month
Used in 376 crates
(63 directly)
28KB
584 lines
CRC32C
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.
Usage
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);
}
License
You may use this code under either the Apache 2.0 license or the MIT license, at your option.