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.
- 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.
 
- 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.
 
Add the NuGet package to your project:
dotnet add package Tolitech.Security.Cryptography
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}");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);string password = "securePassword123";
string hash = Hasher.Hash(password, out string salt);
bool isValid = Hasher.Verify(password, hash, salt);
Console.WriteLine($"Password valid: {isValid}");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.
 
- AES-GCM (Advanced Encryption Standard with Galois/Counter Mode)
 - PBKDF2 with SHA-512