ApricotFramework.PasswordHasher
0.1.0
Prefix Reserved
dotnet add package ApricotFramework.PasswordHasher --version 0.1.0
NuGet\Install-Package ApricotFramework.PasswordHasher -Version 0.1.0
<PackageReference Include="ApricotFramework.PasswordHasher" Version="0.1.0" />
<PackageVersion Include="ApricotFramework.PasswordHasher" Version="0.1.0" />
<PackageReference Include="ApricotFramework.PasswordHasher" />
paket add ApricotFramework.PasswordHasher --version 0.1.0
#r "nuget: ApricotFramework.PasswordHasher, 0.1.0"
#:package ApricotFramework.PasswordHasher@0.1.0
#addin nuget:?package=ApricotFramework.PasswordHasher&version=0.1.0
#tool nuget:?package=ApricotFramework.PasswordHasher&version=0.1.0
ApricotFramework.PasswordHasher
Password hashing for .NET: PBKDF2 with a per-hash salt, the parameters recorded alongside the hash, constant-time verification, and a signal telling you when to rehash.
ApricotFramework.PasswordHasher is the zero-dependency core.
Install
dotnet add package ApricotFramework.PasswordHasher
dotnet add package ApricotFramework.PasswordHasher.AspNetCore
Usage
using ApricotFramework.PasswordHasher.AspNetCore.Extensions;
builder.Services.AddPasswordHasher(builder.Configuration);
using ApricotFramework.PasswordHasher;
// Store the encoded string. It carries the algorithm, iteration count and salt with it.
var stored = hasher.Hash(password).AsHash();
var result = hasher.Verify(stored, candidate);
if (result.Verified && result.NeedsUpgrade)
{
// The password is in hand exactly once. Rewrite the hash with current parameters.
stored = hasher.Hash(candidate).AsHash();
}
Note that the encoded form, {algorithm}.{iterations}.{salt}.{key}, is what consumers persist,
so it is a compatibility contract and will not change without a major version. Hashes written by
earlier versions under the RFC algorithm name still verify and are reported as needing an
upgrade. Verification always uses the parameters stored inside the hash, so raising the
configured iteration count never locks anyone out.
Full documentation: https://projectapricot.dev
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ApricotFramework.PasswordHasher:
| Package | Downloads |
|---|---|
|
ApricotFramework.PasswordHasher.AspNetCore
ASP.NET Core integration for ApricotFramework.PasswordHasher: service registration, configuration binding and startup validation of hashing options. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 153 | 8/13/2026 |