2 个版本
0.8.1 | 2019 年 6 月 4 日 |
---|---|
0.8.0 | 2019 年 6 月 4 日 |
28 在 #crc32
每月 132 次下载
23KB
crc32_digest
使用 crc32fast 实现了 digest crate 的 Digest 和 DynDigest 特性。
如果 digest 使用 std 特性构建,Crc32 也将实现 Write 特性。
此 crate 提供的 Crc32 结构体内部实现了 FixedOutput、Input 和 Reset 特性。digest crate 为实现这些特性的类型提供了 Digest 和 DynDigest 的泛型实现(以及 Clone 和 Default)。
要求
需要 Rust 1.32 或更高版本以支持 u32::to_be_bytes。
Write 支持 requires digest 的 std 特性启用。
用法
use crc32_digest::Crc32;
use digest::Digest;
fn main() {
let mut crc32 = Crc32::new();
crc32.input(b"hello, world");
let result = crc32.result();
// Get checksum as a byte slice
assert_eq!(result.as_slice(), &[0xff, 0xab, 0x72, 0x3a]);
// Format checksum as a lowercase hexadecimal string
assert_eq!(format!("{:x}", result), "ffab723a");
}
或者,可以使用 Crc32::from_state(state: u32)
创建具有特定初始状态的新的 Crc32 实例。
依赖关系
约 420KB