Tolitech.Security.Cryptography 1.0.0

dotnet add package Tolitech.Security.Cryptography --version 1.0.0
                    
NuGet\Install-Package Tolitech.Security.Cryptography -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="Tolitech.Security.Cryptography" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tolitech.Security.Cryptography" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Tolitech.Security.Cryptography" />
                    
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 Tolitech.Security.Cryptography --version 1.0.0
                    
#r "nuget: Tolitech.Security.Cryptography, 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 Tolitech.Security.Cryptography@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=Tolitech.Security.Cryptography&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Tolitech.Security.Cryptography&version=1.0.0
                    
Install as a Cake Tool

Tolitech.Security.Cryptography

Overview

Tolitech.Security.Cryptography is a comprehensive library for .NET applications, providing robust and easy-to-use cryptographic utilities. It focuses on two main areas: AES-GCM encryption (Cipher) and cryptographic hashing (Hasher), enabling secure data protection for both text and files.


Features

🔒 Cipher (AES-GCM Encryption)

  • Dynamic Key and Nonce Generation: Each encryption operation generates a unique AES key, nonce, and authentication tag.
  • Text and File Encryption: Encrypts and decrypts both strings and byte arrays (files) using AES-GCM for confidentiality and integrity.
  • Authenticated Encryption: Ensures both data privacy and tamper detection (integrity) with a single API.

🛡️ Hasher (Cryptographic Hashing)

  • Salted Hash Generation: Uses SHA-512 with a random salt for strong, unique hashes.
  • Password Hashing: Implements PBKDF2 with SHA-512 and 100,000 iterations for secure password storage.
  • Simple API: Easy-to-use methods for hashing and verifying data.

Installation

Add the NuGet package to your project:

dotnet add package Tolitech.Security.Cryptography

Usage

Cipher Example (Encrypt/Decrypt Text with AES-GCM)

string plainText = "Hello, world!";
string encryptedText = Cipher.Encrypt(plainText, out string key, out string nonce, out string tag);
string decryptedText = Cipher.Decrypt(encryptedText, key, nonce, tag);
Console.WriteLine($"Decrypted text: {decryptedText}");

Cipher Example (Encrypt/Decrypt File with AES-GCM)

byte[] fileBytes = File.ReadAllBytes("file.txt");
byte[] encrypted = Cipher.Encrypt(fileBytes, out string key, out string nonce, out string tag);
byte[] decrypted = Cipher.Decrypt(encrypted, key, nonce, tag);
File.WriteAllBytes("file.decrypted.txt", decrypted);

Hasher Example (Hash and Verify)

string password = "securePassword123";
string hash = Hasher.Hash(password, out string salt);
bool isValid = Hasher.Verify(password, hash, salt);
Console.WriteLine($"Password valid: {isValid}");

Project Structure

  • Cipher: Static class for AES-GCM encryption/decryption of text and files.
  • Hasher: Static class for hashing and verifying data using SHA-512 and PBKDF2.
  • Unit tests included for both Cipher and Hasher classes.

Technologies

  • AES-GCM (Advanced Encryption Standard with Galois/Counter Mode)
  • PBKDF2 with SHA-512
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

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 285 11/12/2025