SabreTools.Hashing
1.4.1
dotnet add package SabreTools.Hashing --version 1.4.1
NuGet\Install-Package SabreTools.Hashing -Version 1.4.1
<PackageReference Include="SabreTools.Hashing" Version="1.4.1" />
paket add SabreTools.Hashing --version 1.4.1
#r "nuget: SabreTools.Hashing, 1.4.1"
// Install SabreTools.Hashing as a Cake Addin #addin nuget:?package=SabreTools.Hashing&version=1.4.1 // Install SabreTools.Hashing as a Cake Tool #tool nuget:?package=SabreTools.Hashing&version=1.4.1
SabreTools.Hashing
This library comprises of methods and helpers to simplify the process of getting checksums and hashes from both files and streams.
Find the link to the Nuget package here.
Releases
For the most recent stable build, download the latest release here: Releases Page
For the latest WIP build here: Rolling Release
Internal Implementations
All hash and checksum types here have been written to ensure compatibility across all .NET versions. Some may have been adapted to ensure this compatibility. These can be treated as reference implementations, not always optimized.
Hash / Checksum Type | Notes |
---|---|
Adler-32 | Based on the zlib source code |
CRC | All CRC values documented here except for CRC-82 due to bit-length restrictions |
Fletcher | 16-, 32-, and 64-bit variants |
FNV | 32-, and 64-bit variants; 0, 1, and 1a algorithms |
Message Digest | MD2 and MD4 only |
RIPEMD | 128-, 160-, 256-, and 320-bit variants |
Tiger | 128-, 160-, and 192-bit variants; 3- and 4-pass; 0x01 and 0x80 (Tiger2) pad-initialized |
xxHash | xxHash-32 and xxHash-64 only |
External Implementations
External implementations of hash and checksum types may not be compatible with all .NET versions. Please see the table below for more information about support.
Source | Hash / Checksum Types | Notes |
---|---|---|
Aaru.Checksums | SpamSum | Some code tweaks made to support older .NET versions |
Blake3.NET | BLAKE3 | Used in net7.0 and above |
System.IO.Hashing | XXH3, XXH128 | Used in net462 and above |
System.Security.Cryptography | MD5, 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 |
Note: If all you care about is performance, I encourage you to forego this library and use the ones listed above directly instead.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Core | netcoreapp3.1 is compatible. |
.NET Framework | net20 is compatible. net35 is compatible. net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 is compatible. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
-
.NETCoreApp 3.1
- System.IO.Hashing (>= 8.0.0)
-
.NETFramework 2.0
- No dependencies.
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.6.2
- System.IO.Hashing (>= 8.0.0)
-
.NETFramework 4.7.2
- System.IO.Hashing (>= 8.0.0)
-
.NETFramework 4.8
- System.IO.Hashing (>= 8.0.0)
-
net5.0
- System.IO.Hashing (>= 8.0.0)
-
net6.0
- System.IO.Hashing (>= 8.0.0)
-
net7.0
- Blake3 (>= 1.1.0)
- System.IO.Hashing (>= 8.0.0)
-
net8.0
- Blake3 (>= 1.1.0)
- System.IO.Hashing (>= 8.0.0)
-
net9.0
- Blake3 (>= 1.1.0)
- System.IO.Hashing (>= 8.0.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on SabreTools.Hashing:
Package | Downloads |
---|---|
SabreTools.Serialization
Serialization and deserialization helpers for various types |
|
UnshieldSharp
Port of Unshield and unshieldv3 to C# |
|
WiseUnpacker
Wise installer unpacker based on E_WISE and HWUN |
|
BinaryObjectScanner
Protection scanning library |
|
LibIRD
Library for ISO Rebuild Data |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on SabreTools.Hashing:
Repository | Stars |
---|---|
SabreTools/MPF
Redumper/Aaru/DiscImageCreator GUI in C#
|
|
SabreTools/SabreTools
DAT management tool with advanced editing and sorting features
|