Soenneker.Hashing.XxHash
11.0.129
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Hashing.XxHash --version 11.0.129
NuGet\Install-Package Soenneker.Hashing.XxHash -Version 11.0.129
<PackageReference Include="Soenneker.Hashing.XxHash" Version="11.0.129" />
<PackageVersion Include="Soenneker.Hashing.XxHash" Version="11.0.129" />
<PackageReference Include="Soenneker.Hashing.XxHash" />
paket add Soenneker.Hashing.XxHash --version 11.0.129
#r "nuget: Soenneker.Hashing.XxHash, 11.0.129"
#:package Soenneker.Hashing.XxHash@11.0.129
#addin nuget:?package=Soenneker.Hashing.XxHash&version=11.0.129
#tool nuget:?package=Soenneker.Hashing.XxHash&version=11.0.129
Soenneker.Hashing.XxHash
Fast XXH3 64-bit hashing for byte spans and UTF-8 text, with integer and canonical 16-character lowercase hexadecimal outputs.
XXH3 is non-cryptographic. Use it for hash-table keys, cache keys, partition selection, deduplication hints, and accidental-corruption checks. Do not use it for passwords, signatures, authentication tokens, or adversarial integrity checks.
Installation
dotnet add package Soenneker.Hashing.XxHash
Hash UTF-8 text
using Soenneker.Hashing.XxHash;
string hex = XxHash3Util.Hash("customer:42");
// 16 lowercase hex characters
ulong numeric = XxHash3Util.HashToUInt64("customer:42");
String and character-span overloads encode text as UTF-8 before hashing, so the same Unicode text produces the same result across processes.
Hash bytes or use a seed
ReadOnlySpan<byte> payload = ...;
ulong standard = XxHash3Util.HashToUInt64(payload);
ulong partitioned = XxHash3Util.HashUtf8ToUInt64(payload, seed: 17);
A seed produces a different deterministic hash family; it is not a secret key and does not make XXH3 cryptographically secure.
Compare a stored text hash
string expected = XxHash3Util.Hash(value);
bool matches = XxHash3Util.Verify(value, expected);
Verify() accepts exactly 16 hexadecimal characters and returns false for malformed values or a mismatch. This comparison is a convenience check, not constant-time authentication.
Character inputs up to the internal threshold are UTF-8 encoded on the stack; larger inputs use a pooled byte array. Byte-span hashing itself does not allocate. Null string overload arguments throw ArgumentNullException; span overloads naturally support empty input.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net11.0 is compatible. |
-
net11.0
- Soenneker.Extensions.Spans.Readonly.Chars (>= 11.0.155)
- System.IO.Hashing (>= 11.0.0-rc.3.26522.148)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Soenneker.Hashing.XxHash:
| Package | Downloads |
|---|---|
|
Soenneker.HighLevel.Client
Provides cached HighLevel HTTP clients with optional per-API-key authentication |
|
|
Soenneker.Node.Util
A utility library for Node related operations |
|
|
Soenneker.HubSpot.Client
Provides cached HubSpot HTTP clients authenticated with private app access tokens |
|
|
Soenneker.Zoho.HttpClients
Provides cached HTTP clients for Zoho CRM access tokens and data-center API origins. |
|
|
Soenneker.N8n.HttpClients
Provides cached, authenticated HTTP clients for one or more n8n servers. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.0.135 | 0 | 11/11/2026 |
| 11.0.133 | 0 | 11/11/2026 |
| 11.0.132 | 53 | 11/11/2026 |
| 11.0.131 | 287 | 11/10/2026 |
| 11.0.130 | 81 | 11/10/2026 |
| 11.0.129 | 2,401 | 11/3/2026 |
| 11.0.128 | 714 | 11/3/2026 |
| 11.0.127 | 259 | 11/2/2026 |
| 11.0.126 | 3,034 | 10/26/2026 |
| 11.0.125 | 85 | 10/26/2026 |
| 11.0.124 | 393 | 10/26/2026 |
| 11.0.123 | 308 | 10/26/2026 |
| 4.0.122 | 1,418 | 10/25/2026 |
| 4.0.121 | 2,764 | 10/15/2026 |
| 4.0.120 | 113 | 10/15/2026 |
| 4.0.118 | 568 | 10/14/2026 |
| 4.0.115 | 1,124 | 10/14/2026 |
| 4.0.109 | 862 | 10/12/2026 |
| 4.0.107 | 916 | 10/12/2026 |
| 4.0.106 | 1,139 | 10/11/2026 |
Updated Soenneker.Extensions.Spans.Readonly.Chars to 11.0.155