Enum crc_any ::CRC Copy item path source · [− ] pub enum CRC {
CRCu8(CRCu8 ),
CRCu16(CRCu16 ),
CRCu32(CRCu32 ),
CRCu64(CRCu64 ),
}
Expand description This struct can help you compute a CRC value.
Create a CRC instance by providing the length of bits, expression, reflection, an initial value and a final xor value.
Create a CRC instance by providing the length of bits, expression, reflection, an initial value and a final xor value.
Create a CRC instance by providing the length of bits, expression, reflection, an initial value and a final xor value.
Create a CRC instance by providing the length of bits, expression, reflection, an initial value and a final xor value.
Create a CRC instance by providing the length of bits, expression, reflection, an initial value and a final xor value.
Get the current CRC value (it always returns a u64
value). You can continue calling digest
method even after getting a CRC value.
Get the current CRC value (it always returns a vec instance with a length corresponding to the CRC bits). You can continue calling digest
method even after getting a CRC value.
Get the current CRC value (it always returns a vec instance with a length corresponding to the CRC bits). You can continue calling digest
method even after getting a CRC value.
Check Poly Init Ref XorOut
0x4 0x3 0x0 false 0x7
let mut crc = CRC::crc3gsm();
crc.digest(b"123456789" );
assert_eq! ("0x4" , & crc.to_string());
Check Poly Init Ref XorOut
0x7 0x3 (rev: 0xC) 0x0 true 0x0
let mut crc = CRC::crc4itu();
crc.digest(b"123456789" );
assert_eq! ("0x7" , & crc.to_string());
Check Poly Init Ref XorOut
0xB 0x3 0xF false 0xF
let mut crc = CRC::crc4interlaken();
crc.digest(b"123456789" );
assert_eq! ("0xB" , & crc.to_string());
Check Poly Init Ref XorOut
0x00 0x09 0x09 false 0x00
let mut crc = CRC::crc5epc();
crc.digest(b"123456789" );
assert_eq! ("0x00" , & crc.to_string());
Check Poly Init Ref XorOut
0x07 0x15 (rev: 0x15) 0x00 true 0x00
let mut crc = CRC::crc5itu();
crc.digest(b"123456789" );
assert_eq! ("0x07" , & crc.to_string());
Check Poly Init Ref XorOut
0x19 0x05 (rev: 0x14) 0x1F true 0x1F
let mut crc = CRC::crc5usb();
crc.digest(b"123456789" );
assert_eq! ("0x19" , & crc.to_string());
Check Poly Init Ref XorOut
0x0D 0x27 0x3F false 0x00
let mut crc = CRC::crc6cdma2000_a();
crc.digest(b"123456789" );
assert_eq! ("0x0D" , & crc.to_string());
Check Poly Init Ref XorOut
0x3B 0x07 0x3F false 0x00
let mut crc = CRC::crc6cdma2000_b();
crc.digest(b"123456789" );
assert_eq! ("0x3B" , & crc.to_string());
Check Poly Init Ref XorOut
0x26 0x19 (rev: 0x26) 0x00 true 0x00
let mut crc = CRC::crc6darc();
crc.digest(b"123456789" );
assert_eq! ("0x26" , & crc.to_string());
Check Poly Init Ref XorOut
0x13 0x2F 0x00 false 0x3F
let mut crc = CRC::crc6gsm();
crc.digest(b"123456789" );
assert_eq! ("0x13" , & crc.to_string());
Check Poly Init Ref XorOut
0x06 0x03 (rev: 0x30) 0x00 true 0x00
let mut crc = CRC::crc6itu();
crc.digest(b"123456789" );
assert_eq! ("0x06" , & crc.to_string());
Check Poly Init Ref XorOut
0x75 0x09 0x00 false 0x00
let mut crc = CRC::crc7();
crc.digest(b"123456789" );
assert_eq! ("0x75" , & crc.to_string());
Check Poly Init Ref XorOut
0x61 0x45 0x00 false 0x00
let mut crc = CRC::crc7umts();
crc.digest(b"123456789" );
assert_eq! ("0x61" , & crc.to_string());
Check Poly Init Ref XorOut
0xF4 0x07 0x00 false 0x00
let mut crc = CRC::crc8();
crc.digest(b"123456789" );
assert_eq! ("0xF4" , & crc.to_string());
Check Poly Init Ref XorOut
0xDA 0x9B 0xFF false 0x00
let mut crc = CRC::crc8cdma2000();
crc.digest(b"123456789" );
assert_eq! ("0xDA" , & crc.to_string());
Check Poly Init Ref XorOut
0xDA 0x39 (rev: 0x9C) 0x00 true 0x00
let mut crc = CRC::crc8darc();
crc.digest(b"123456789" );
assert_eq! ("0x15" , & crc.to_string());
Check Poly Init Ref XorOut
0xBC 0xD5 0x00 false 0x00
let mut crc = CRC::crc8dvb_s2();
crc.digest(b"123456789" );
assert_eq! ("0xBC" , & crc.to_string());
Check Poly Init Ref XorOut
0x97 0x1D (rev: 0xB8) 0xFF true 0x00
let mut crc = CRC::crc8ebu();
crc.digest(b"123456789" );
assert_eq! ("0x97" , & crc.to_string());
Check Poly Init Ref XorOut
0x7E 0x1D 0xFD false 0x00
let mut crc = CRC::crc8icode();
crc.digest(b"123456789" );
assert_eq! ("0x7E" , & crc.to_string());
Check Poly Init Ref XorOut
0xA1 0x07 0x00 false 0x55
let mut crc = CRC::crc8itu();
crc.digest(b"123456789" );
assert_eq! ("0xA1" , & crc.to_string());
Check Poly Init Ref XorOut
0xA1 0x31 (rev: 0x8C) 0x00 true 0x00
let mut crc = CRC::crc8maxim();
crc.digest(b"123456789" );
assert_eq! ("0xA1" , & crc.to_string());
Check Poly Init Ref XorOut
0xD0 0x07 (rev: 0xE0) 0xFF true 0x00
let mut crc = CRC::crc8rohc();
crc.digest(b"123456789" );
assert_eq! ("0xD0" , & crc.to_string());
Check Poly Init Ref XorOut
0x25 0x9B (rev: 0xD9) 0x00 true 0x00
let mut crc = CRC::crc8wcdma();
crc.digest(b"123456789" );
assert_eq! ("0x25" , & crc.to_string());
Check Poly Init Ref XorOut
0x199 0x233 0x000 false 0x000
let mut crc = CRC::crc10();
crc.digest(b"123456789" );
assert_eq! ("0x199" , & crc.to_string());
Check Poly Init Ref XorOut
0x233 0x3D9 0x3FF false 0x000
let mut crc = CRC::crc10cdma2000();
crc.digest(b"123456789" );
assert_eq! ("0x233" , & crc.to_string());
Check Poly Init Ref XorOut
0x12A 0x175 0x000 false 0x3FF
let mut crc = CRC::crc10gsm();
crc.digest(b"123456789" );
assert_eq! ("0x12A" , & crc.to_string());
Check Poly Init Ref XorOut
0x5A3 0x385 0x01a false 0x000
let mut crc = CRC::crc11();
crc.digest(b"123456789" );
assert_eq! ("0x5A3" , & crc.to_string());
Check Poly Init Ref XorOut
0xF5B 0x080F 0x0000 false 0x0000
let mut crc = CRC::crc12();
crc.digest(b"123456789" );
assert_eq! ("0xF5B" , & crc.to_string());
Check Poly Init Ref XorOut
0xD4D 0x0F13 0x0FFF false 0x0000
let mut crc = CRC::crc12cdma2000();
crc.digest(b"123456789" );
assert_eq! ("0xD4D" , & crc.to_string());
Check Poly Init Ref XorOut
0xB34 0x0D31 0x0000 false 0x0FFF
let mut crc = CRC::crc12gsm();
crc.digest(b"123456789" );
assert_eq! ("0xB34" , & crc.to_string());
Check Poly Init Ref XorOut
0x04FA 0x1CF5 0x0000 false 0x0000
let mut crc = CRC::crc13bbc();
crc.digest(b"123456789" );
assert_eq! ("0x04FA" , & crc.to_string());
Check Poly Init Ref XorOut
0x082D 0x0805 (rev: 0x2804) 0x0000 true 0x0000
let mut crc = CRC::crc14darc();
crc.digest(b"123456789" );
assert_eq! ("0x082D" , & crc.to_string());
Check Poly Init Ref XorOut
0x30AE 0x202D 0x0000 false 0x3FFF
let mut crc = CRC::crc14gsm();
crc.digest(b"123456789" );
assert_eq! ("0x30AE" , & crc.to_string());
Check Poly Init Ref XorOut
0x059E 0x4599 0x0000 false 0x0000
let mut crc = CRC::crc15can();
crc.digest(b"123456789" );
assert_eq! ("0x059E" , & crc.to_string());
Check Poly Init Ref XorOut
0x2566 0x6815 0x0000 false 0x0001
let mut crc = CRC::crc15mpt1327();
crc.digest(b"123456789" );
assert_eq! ("0x2566" , & crc.to_string());
Check Poly Init Ref XorOut
0xBB3D 0x8005 (rev: 0xA001) 0x0000 true 0x0000
let mut crc = CRC::crc16();
crc.digest(b"123456789" );
assert_eq! ("0xBB3D" , & crc.to_string());
Check Poly Init Ref XorOut
0x29B1 0x1021 0xFFFF false 0x0000
let mut crc = CRC::crc16ccitt_false();
crc.digest(b"123456789" );
assert_eq! ("0x29B1" , & crc.to_string());
Check Poly Init Ref XorOut
0xE5CC 0x1021 0x1D0F false 0x0000
let mut crc = CRC::crc16aug_ccitt();
crc.digest(b"123456789" );
assert_eq! ("0xE5CC" , & crc.to_string());
Check Poly Init Ref XorOut
0xFEE8 0x8005 0x0000 false 0x0000
let mut crc = CRC::crc16buypass();
crc.digest(b"123456789" );
assert_eq! ("0xFEE8" , & crc.to_string());
Check Poly Init Ref XorOut
0x4C06 0xC867 0xFFFF false 0x0000
let mut crc = CRC::crc16cdma2000();
crc.digest(b"123456789" );
assert_eq! ("0x4C06" , & crc.to_string());
Check Poly Init Ref XorOut
0x9ECF 0x8005 0x800D false 0x0000
let mut crc = CRC::crc16dds_110();
crc.digest(b"123456789" );
assert_eq! ("0x9ECF" , & crc.to_string());
Check Poly Init Ref XorOut
0x007E 0x0589 0x0000 false 0x0001
let mut crc = CRC::crc16dect_r();
crc.digest(b"123456789" );
assert_eq! ("0x007E" , & crc.to_string());
Check Poly Init Ref XorOut
0x007F 0x0589 0x0000 false 0x0000
let mut crc = CRC::crc16dect_r();
crc.digest(b"123456789" );
assert_eq! ("0x007E" , & crc.to_string());
Check Poly Init Ref XorOut
0xEA82 0x3D65 (rev: 0xA6BC) 0x0000 true 0xFFFF
let mut crc = CRC::crc16dnp();
crc.digest(b"123456789" );
assert_eq! ("0xEA82" , & crc.to_string());
Check Poly Init Ref XorOut
0xC2B7 0x3D65 0x0000 false 0xFFFF
let mut crc = CRC::crc16en_13757();
crc.digest(b"123456789" );
assert_eq! ("0xC2B7" , & crc.to_string());
Check Poly Init Ref XorOut
0xD64E 0x1021 0xFFFF false 0xFFFF
let mut crc = CRC::crc16genibus();
crc.digest(b"123456789" );
assert_eq! ("0xD64E" , & crc.to_string());
Check Poly Init Ref XorOut
0x44C2 0x8005 (rev: 0xA001) 0xFFFF true 0xFFFF
let mut crc = CRC::crc16maxim();
crc.digest(b"123456789" );
assert_eq! ("0x44C2" , & crc.to_string());
Check Poly Init Ref XorOut
0x6F91 0x1021 (rev: 0x8408) 0xFFFF true 0x0000
let mut crc = CRC::crc16mcrf4cc();
crc.digest(b"123456789" );
assert_eq! ("0x6F91" , & crc.to_string());
Check Poly Init Ref XorOut
0x63D0 0x1021 (rev: 0x8408) 0xB2AA true 0x0000
let mut crc = CRC::crc16riello();
crc.digest(b"123456789" );
assert_eq! ("0x63D0" , & crc.to_string());
Check Poly Init Ref XorOut
0xD0DB 0x8BB7 0x0000 false 0x0000
let mut crc = CRC::crc16t10_dif();
crc.digest(b"123456789" );
assert_eq! ("0xD0DB" , & crc.to_string());
Check Poly Init Ref XorOut
0x0FB3 0xA097 0x0000 false 0x0000
let mut crc = CRC::crc16teledisk();
crc.digest(b"123456789" );
assert_eq! ("0x0FB3" , & crc.to_string());
Check Poly Init Ref XorOut
0x26B1 0x1021 (rev: 0x8408) 0x89EC true 0x0000
let mut crc = CRC::crc16tms13157();
crc.digest(b"123456789" );
assert_eq! ("0x26B1" , & crc.to_string());
Check Poly Init Ref XorOut
0xB4C8 0x8005 (rev: 0xA001) 0xFFFF true 0xFFFF
let mut crc = CRC::crc16usb();
crc.digest(b"123456789" );
assert_eq! ("0xB4C8" , & crc.to_string());
Check Poly Init Ref XorOut
0xBF05 0x1021 (rev: 0x8408) 0xC6C6 true 0x0000
let mut crc = CRC::crc_a();
crc.digest(b"123456789" );
assert_eq! ("0xBF05" , & crc.to_string());
Check Poly Init Ref XorOut
0x2189 0x1021 (rev: 0x8408) 0x0000 true 0x0000
let mut crc = CRC::crc16kermit();
crc.digest(b"123456789" );
assert_eq! ("0x2189" , & crc.to_string());
Check Poly Init Ref XorOut
0x4B37 0x8005 (rev: 0xA001) 0xFFFF true 0x0000
let mut crc = CRC::crc16modbus();
crc.digest(b"123456789" );
assert_eq! ("0x4B37" , & crc.to_string());
Check Poly Init Ref XorOut
0x906E 0x8005 (rev: 0xA001) 0xFFFF true 0xFFFF
let mut crc = CRC::crc16_x25();
crc.digest(b"123456789" );
assert_eq! ("0x906E" , & crc.to_string());
Check Poly Init Ref XorOut
0x31C3 0x1021 0x0000 false 0x0000
let mut crc = CRC::crc16xmodem();
crc.digest(b"123456789" );
assert_eq! ("0x31C3" , & crc.to_string());
Check Poly Init Ref XorOut
0x04F03 0x1685B 0x00000 false 0x00000
let mut crc = CRC::crc17can();
crc.digest(b"123456789" );
assert_eq! ("0x04F03" , & crc.to_string());
Check Poly Init Ref XorOut
0x0ED841 0x102899 0x000000 false 0x000000
let mut crc = CRC::crc21can();
crc.digest(b"123456789" );
assert_eq! ("0x0ED841" , & crc.to_string());
Check Poly Init Ref XorOut
0x21CF02 0x864CFB 0xB704CE false 0x000000
let mut crc = CRC::crc24();
crc.digest(b"123456789" );
assert_eq! ("0x21CF02" , & crc.to_string());
Check Poly Init Ref XorOut
0xC25A56 0x00065B (rev: 0xDA6000) 0x555555 true 0x000000
let mut crc = CRC::crc24ble();
crc.digest(b"123456789" );
assert_eq! ("0xC25A56" , & crc.to_string());
Check Poly Init Ref XorOut
0x7979BD 0x5D6DCB 0xFEDCBA false 0x000000
let mut crc = CRC::crc24flexray_a();
crc.digest(b"123456789" );
assert_eq! ("0x7979BD" , & crc.to_string());
Check Poly Init Ref XorOut
0x1F23B8 0x5D6DCB 0xABCDEF false 0x000000
let mut crc = CRC::crc24flexray_b();
crc.digest(b"123456789" );
assert_eq! ("0x1F23B8" , & crc.to_string());
Check Poly Init Ref XorOut
0xCDE703 0x864CFB 0x000000 false 0x000000
let mut crc = CRC::crc24lte_a();
crc.digest(b"123456789" );
assert_eq! ("0xCDE703" , & crc.to_string());
Check Poly Init Ref XorOut
0x23EF52 0x800063 0x000000 false 0x000000
let mut crc = CRC::crc24lte_b();
crc.digest(b"123456789" );
assert_eq! ("0x23EF52" , & crc.to_string());
Check Poly Init Ref XorOut
0x200FA5 0x800063 0xFFFFFF false 0xFFFFFF
let mut crc = CRC::crc24os9();
crc.digest(b"123456789" );
assert_eq! ("0x200FA5" , & crc.to_string());
Check Poly Init Ref XorOut
0x04C34ABF 0x2030B9C7 0x3FFFFFFF false 0x3FFFFFFF
let mut crc = CRC::crc30cdma();
crc.digest(b"123456789" );
assert_eq! ("0x04C34ABF" , & crc.to_string());
Check Poly Init Ref XorOut
0xCBF43926 0x04C11DB7 (rev: 0xEDB88320) 0xFFFFFFFF true 0xFFFFFFFF
let mut crc = CRC::crc32();
crc.digest(b"123456789" );
assert_eq! ("0xCBF43926" , & crc.to_string());
Check Poly Init Ref XorOut
0x181989FC 0x04C11DB7 0xFFFFFFFF false 0xFFFFFFFF
Output will be reversed by bytes.
let mut crc = CRC::crc32mhash();
crc.digest(b"123456789" );
assert_eq! ("0x181989FC" , & crc.to_string());
Check Poly Init Ref XorOut
0xFC891918 0x04C11DB7 0xFFFFFFFF false 0xFFFFFFFF
let mut crc = CRC::crc32bzip2();
crc.digest(b"123456789" );
assert_eq! ("0xFC891918" , & crc.to_string());
Check Poly Init Ref XorOut
0xE3069283 0x1EDC6F41 (rev: 0x82F63B78) 0xFFFFFFFF true 0xFFFFFFFF
let mut crc = CRC::crc32c();
crc.digest(b"123456789" );
assert_eq! ("0xE3069283" , & crc.to_string());
Check Poly Init Ref XorOut
0x87315576 0xA833982B (rev: 0xD419CC15) 0xFFFFFFFF true 0xFFFFFFFF
let mut crc = CRC::crc32d();
crc.digest(b"123456789" );
assert_eq! ("0x87315576" , & crc.to_string());
Check Poly Init Ref XorOut
0x0376E6E7 0x04C11DB7 0xFFFFFFFF false 0x00000000
let mut crc = CRC::crc32mpeg2();
crc.digest(b"123456789" );
assert_eq! ("0x0376E6E7" , & crc.to_string());
Check Poly Init Ref XorOut
0x765E7680 0x04C11DB7 0x00000000 false 0xFFFFFFFF
let mut crc = CRC::crc32posix();
crc.digest(b"123456789" );
assert_eq! ("0x765E7680" , & crc.to_string());
Check Poly Init Ref XorOut
0x3010BF7F 0x814141AB 0x00000000 false 0x00000000
let mut crc = CRC::crc32q();
crc.digest(b"123456789" );
assert_eq! ("0x3010BF7F" , & crc.to_string());
Check Poly Init Ref XorOut
0x340BC6D9 0x04C11DB7 (rev: 0xEDB88320) 0x00000000 true 0x00000000
let mut crc = CRC::crc32jamcrc();
crc.digest(b"123456789" );
assert_eq! ("0x340BC6D9" , & crc.to_string());
Check Poly Init Ref XorOut
0xBD0BE338 0x000000AF 0x00000000 false 0x00000000
let mut crc = CRC::crc32xfer();
crc.digest(b"123456789" );
assert_eq! ("0xBD0BE338" , & crc.to_string());
Check Poly Init Ref XorOut
0xD4164FC646 0x0004820009 0x0000000000 false 0xFFFFFFFFFF
let mut crc = CRC::crc40gsm();
crc.digest(b"123456789" );
assert_eq! ("0xD4164FC646" , & crc.to_string());
Check Poly Init Ref XorOut
0x6C40DF5F0B497347 0x42F0E1EBA9EA3693 0x0000000000000000 false 0x0000000000000000
let mut crc = CRC::crc64();
crc.digest(b"123456789" );
assert_eq! ("0x6C40DF5F0B497347" , & crc.to_string());
Check Poly Init Ref XorOut
0xB90956C775A41001 0x000000000000001B (rev: 0xD800000000000000) 0xFFFFFFFFFFFFFFFF true 0xFFFFFFFFFFFFFFFF
let mut crc = CRC::crc64iso();
crc.digest(b"123456789" );
assert_eq! ("0xB90956C775A41001" , & crc.to_string());
Check Poly Init Ref XorOut
0x62EC59E3F1A4F00A 0x42F0E1EBA9EA3693 0xFFFFFFFFFFFFFFFF false 0xFFFFFFFFFFFFFFFF
let mut crc = CRC::crc64we();
crc.digest(b"123456789" );
assert_eq! ("0x62EC59E3F1A4F00A" , & crc.to_string());
Check Poly Init Ref XorOut
0xE9C6D914C4B8D9CA 0xAD93D23594C935A9 (rev: 0x95AC9329AC4BC9B5) 0x0000000000000000 true 0x0000000000000000
let mut crc = CRC::crc64jones();
crc.digest(b"123456789" );
assert_eq! ("0xE9C6D914C4B8D9CA" , & crc.to_string());
Formats the value using the given formatter.
Read more Formats the value using the given formatter.
Read more Immutably borrows from an owned value.
Read more Mutably borrows from an owned value.
Read more Returns the argument unchanged.
Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From <T> for U
chooses to do.
Converts the given value to a
String
.
Read more The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.