Hasher.KenKoV1
1.0.0
dotnet add package Hasher.KenKoV1 --version 1.0.0
NuGet\Install-Package Hasher.KenKoV1 -Version 1.0.0
<PackageReference Include="Hasher.KenKoV1" Version="1.0.0" />
<PackageVersion Include="Hasher.KenKoV1" Version="1.0.0" />
<PackageReference Include="Hasher.KenKoV1" />
paket add Hasher.KenKoV1 --version 1.0.0
#r "nuget: Hasher.KenKoV1, 1.0.0"
#:package Hasher.KenKoV1@1.0.0
#addin nuget:?package=Hasher.KenKoV1&version=1.0.0
#tool nuget:?package=Hasher.KenKoV1&version=1.0.0
Hasher
A lightweight .NET library for securely hashing passwords using PBKDF2 (HMACSHA512) with support for salt, pepper, and configurable iterations.
Features
- PBKDF2 hashing with HMACSHA512
- Secure random salt generation
- Pepper support (stored outside the database)
- Configurable iteration count
- Simple password verification
- Easy integration into any .NET application
Installation
.NET CLI: dotnet add package Hasher
NuGet Package Manager Console: Install-Package Hasher
(Replace "Hasher" with your actual NuGet package ID if different.)
Usage Example
using Hasher.Services;
var hashService = new HashService();
string password = "MySecurePassword123!"; string salt = hashService.GenerateSalt(16); string pepper = "<your-secret-pepper>"; // store securely! int iterations = 100000;
string hash = hashService.GeneratePasswordHash(password, salt, pepper, iterations);
bool isValid = hashService.VerifyPassword(password, salt, pepper, iterations, hash);
Security Notes
- Salt should be unique per user and stored in the database.
- Pepper must be stored outside the database (environment variable, secret vault, etc.).
- Adjust iterations based on performance/security requirements.
- Never reuse salts between users.
- Always use HTTPS for password transmission.
API Overview
GenerateSalt(int length) Generates a cryptographically secure random salt (Base64).
GeneratePasswordHash(string password, string salt, string pepper, int iterations) Creates a PBKDF2 hash and returns it as Base64.
VerifyPassword(string password, string salt, string pepper, int iterations, string hashToCompare) Recreates the hash and compares it with a stored one.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
-
net8.0
- Microsoft.AspNetCore.Cryptography.KeyDerivation (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 143 | 11/29/2025 |