This library comprises of methods and helpers to simplify the process of getting checksums and hashes from both files and streams. See the following table for information about where each of the various components comes from:
Source | Hash / Checksum Types | Notes |
---|---|---|
Aaru.Checksums | Adler-32, CRC-16 (CCITT and IBM polynomials), CRC-32, CRC-64 (Normal and Reversed Polynomials), Fletcher-16, Fletcher-32, SpamSum | Some code tweaks made to support older .NET versions, CRC-32 implementation used in net20 , net35 , net40 , and net452 |
Blake3.NET | BLAKE3 | Used in net7.0 and above |
Compress | N/A | Used for threaded hashing |
CRC32 | CRC-32 (Multiple implementations) | |
System.IO.Hashing | CRC-32, CRC-64 (Normal Polynomial), xxHash32, xxHash64, XXH3, XXH128 | Used in net462 and above |
System.Security.Cryptography | MD5, RIPEMD160 (.NET Framework only), SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256 | Built-in library; SHA3-256, SHA3-384, SHA3-512, SHAKE128, and SHAKE256 are net8.0 and above only for supported platforms |
Find the link to the Nuget package here.