Crate crc[−][src]
Expand description
crc
Rust implementation of CRC(16, 32, 64)
Usage
Compute CRC16
use crc::{Crc, Algorithm, CRC_16_IBM_SDLC, CRC_32_ISCSI}; pub const X25: Crc<u16> = Crc::<u16>::new(&CRC_16_IBM_SDLC); pub const CASTAGNOLI: Crc<u32> = Crc::<u32>::new(&CRC_32_ISCSI); assert_eq!(X25.checksum(b"123456789"), 0x906e); assert_eq!(CASTAGNOLI.checksum(b"123456789"), 0xe3069283); // use custom algorithm const CUSTOM_ALG: Algorithm<u16> = Algorithm { poly: 0x8005, init: 0xffff, refin: false, refout: false, xorout: 0x0000, check: 0xaee7, residue: 0x0000 }; let crc = Crc::<u16>::new(&CUSTOM_ALG); let mut digest = crc.digest(); digest.update(b"123456789"); assert_eq!(digest.finalize(), 0xaee7);
Structs
Algorithm | This struct describes a CRC algorithm using the fields specified by the Catalogue of parametrised CRC algorithms. |
Crc | |
Digest |
Constants
Traits
Width |