TopSecret.Cryptography.Argon2
2.1.6
dotnet add package TopSecret.Cryptography.Argon2 --version 2.1.6
NuGet\Install-Package TopSecret.Cryptography.Argon2 -Version 2.1.6
<PackageReference Include="TopSecret.Cryptography.Argon2" Version="2.1.6" />
<PackageVersion Include="TopSecret.Cryptography.Argon2" Version="2.1.6" />
<PackageReference Include="TopSecret.Cryptography.Argon2" />
paket add TopSecret.Cryptography.Argon2 --version 2.1.6
#r "nuget: TopSecret.Cryptography.Argon2, 2.1.6"
#:package TopSecret.Cryptography.Argon2@2.1.6
#addin nuget:?package=TopSecret.Cryptography.Argon2&version=2.1.6
#tool nuget:?package=TopSecret.Cryptography.Argon2&version=2.1.6
TopSecret.Cryptography.Argon2
Argon2i, Argon2d, and Argon2id (the Password Hashing Competition winner) for
.NET, implemented as a System.Security.Cryptography.DeriveBytes. A
maintained fork of
Konscious.Security.Cryptography.Argon2.
using TopSecret.Cryptography;
byte[] password = ...;
using var argon2 = new Argon2id(password)
{
DegreeOfParallelism = 8, // lanes; tune to your hardware
MemorySize = 65536, // KiB (OWASP recommends >= 19 456 for interactive logins)
Iterations = 3, // OWASP recommends >= 3 for interactive logins
Salt = salt, // unique per secret, >= 8 bytes
};
byte[] hash = argon2.GetBytes(32); // sync
byte[] hash2 = await argon2.GetBytesAsync(32); // async — safe everywhere, including browser WASM
Targets netstandard2.0;net462;net6.0;net8.0;net10.0. DegreeOfParallelism = 1
also completes on single-threaded runtimes such as browser WASM — see the
full README for
the Browser/WebAssembly details, breaking changes between versions, and
everything else that differs from the upstream Konscious project this forks.
MIT licensed — see LICENSE. All credit for the underlying Argon2 implementation belongs to Keef Aragon and Konscious's contributors.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. 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 was computed. 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 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
-
.NETStandard 2.0
- System.Memory (>= 4.6.3)
- System.Numerics.Vectors (>= 4.6.1)
-
net10.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TopSecret.Cryptography.Argon2:
| Package | Downloads |
|---|---|
|
TopSecret.ProtectedString
Cross-platform alternative to System.Security.SecureString. Stores sensitive characters encrypted in memory (AES-GCM with a per-process key) and exposes them only briefly through an Access(...) callback. Inspired by Evolveum's GuardedString. |
|
|
TopSecret.Cryptography.ArgonBenchmarks
BenchmarkDotNet performance suite for TopSecret.Cryptography.Argon2 — measures Argon2i/Argon2d/Argon2id throughput across degrees of parallelism and target frameworks. |
|
|
TopSecret.Cryptography.ComparisonHarness
Cross-language parity fuzzing harness for TopSecret.Cryptography.Argon2 — compares its output against an independent Python (argon2-cffi) reference implementation across randomized inputs. |
GitHub repositories
This package is not used by any popular GitHub repositories.
## [2.1.6](https://github.com/Alpaq92/TopSecret.Cryptography/compare/v2.1.5...v2.1.6) (2026-07-04)
### Documentation
* consolidate 2.1.0-2.1.2's content into the 2.1.3 changelog entry ([#32](https://github.com/Alpaq92/TopSecret.Cryptography/issues/32)) ([339bf0a](https://github.com/Alpaq92/TopSecret.Cryptography/commit/339bf0a47f18b929b316c923ea67968e4f6c9ac4))