sonnenbrille

An implementation of 8-bit CRC

2 releases

0.1.2 Dec 13, 2023
0.1.1 Oct 21, 2021
0.1.0 Oct 21, 2021

25 downloads per month

MIT/Apache

11KB
224 lines

Sonnenbrille

"Son­nen­bril­le, die -- Brille mit dunkel getönten Gläsern, die die Augen vor zu starker Helligkeit des Sonnenlichts schützen soll" -- Duden

"Sunglasses, feminine -- Glasses with dark-toned lenses, that protect the eyes from bright sunlight"

There are many articles, references and online resources for the Cyclic Redundancy Check, but I was surprised and greatly helped by the clarity and comprehensiveness of Sunshine 2K's Understanding and implementing CRC (Cyclic Redundancy Check) calculation. Along with the author's online implementation, this illuminating article made it possible for me to understand, implement and test an 8-bit CRC calculator in Rust.

extern crate sonnenbrille;
use sonnenbrille::CRC8;

fn crc8(num: u32): u8 {
    let calculator = CRC8::default();
    return calculator.of(&num.to_be_bytes(), 0x00);
}

fn main() {
    let num: u32 = 0x31313233;
    let calculator = CRC8::default();
    let checksum = calculator.of(&num.to_be_bytes(), 0x00);
    assert_eq!(checksum, 0x7F);
}

No runtime deps