Hasher.KenKoV1 1.0.0

dotnet add package Hasher.KenKoV1 --version 1.0.0
                    
NuGet\Install-Package Hasher.KenKoV1 -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hasher.KenKoV1" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hasher.KenKoV1" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Hasher.KenKoV1" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hasher.KenKoV1 --version 1.0.0
                    
#r "nuget: Hasher.KenKoV1, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hasher.KenKoV1@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hasher.KenKoV1&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Hasher.KenKoV1&version=1.0.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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