Skip to content

SabreTools/SabreTools.Hashing

Repository files navigation

SabreTools.Hashing

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.