Quantum.Security
1.0.0
dotnet add package Quantum.Security --version 1.0.0
NuGet\Install-Package Quantum.Security -Version 1.0.0
<PackageReference Include="Quantum.Security" Version="1.0.0" />
<PackageVersion Include="Quantum.Security" Version="1.0.0" />
<PackageReference Include="Quantum.Security" />
paket add Quantum.Security --version 1.0.0
#r "nuget: Quantum.Security, 1.0.0"
#:package Quantum.Security@1.0.0
#addin nuget:?package=Quantum.Security&version=1.0.0
#tool nuget:?package=Quantum.Security&version=1.0.0
Quantum.Security
Quantum.Security es una librería de seguridad fundamental para .NET, diseñada para proporcionar un conjunto de herramientas criptográficas robustas, modernas y fáciles de usar. Centraliza la lógica de cifrado, hashing y otras operaciones de seguridad para ser usada a través de tus proyectos.
✨ Características Principales (v1.0.0)
- Cifrado Simétrico Moderno (
AesGcmEncryption
): Cifrado autenticado (AEAD) con AES-256 en modo GCM para garantizar confidencialidad e integridad. Incluye soporte nativo para fechas de expiración. - Hashing de Contraseñas Seguro (
PasswordHasher
): Implementación de PBKDF2 con SHA-256 y un alto número de iteraciones para almacenar contraseñas de forma segura, incluyendo protección contra "timing attacks". - Ofuscación de IDs (
GuidObfuscator
): Utilidad para enmascarar IDs numéricos secuenciales (ej.123
) en un formato no predecible similar a un GUID (ej.f47ac10b-...
). - Firmas Digitales (
RsaManager
): Utilidades para generar pares de claves RSA, firmar datos para garantizar su autenticidad e integridad, y verificar firmas. - Utilidades Criptográficas: Clases de ayuda para generar strings y secretos aleatorios criptográficamente seguros.
- Manejo de Código Heredado: Incluye una clase
LegacyAesCbcEncryption
marcada como obsoleta para mantener compatibilidad con datos cifrados antiguos.
🚀 Instalación
Instala el paquete a través de la consola del Administrador de Paquetes NuGet:
Install-Package Quantum.Security -Version 1.0.0
O mediante la CLI de .NET:
dotnet add package Quantum.Security --version 1.0.0
💡 Ejemplos de Uso
Cifrado de Datos con Expiración
using Quantum.Security.Symmetric;
var secretKey = AesGcmEncryption.GenerateNewKeyAsBase64();
var aes = new AesGcmEncryption(secretKey);
// Cifrar un dato que es válido por 30 minutos
string plainText = "Esta es información confidencial";
string cipherText = aes.Encrypt(plainText, TimeSpan.FromMinutes(30));
// Descifrar (fallará después de 30 minutos)
string decryptedText = aes.Decrypt(cipherText);
Hashing y Verificación de Contraseñas
using Quantum.Security.Hashing;
// Al registrar un usuario
string password = "MiClaveSuperSegura!123";
string hashedPassword = PasswordHasher.HashPassword(password);
// Guardar 'hashedPassword' en la base de datos.
// Al hacer login
bool isValid = PasswordHasher.VerifyPassword("MiClaveSuperSegura!123", hashedPassword); // true
bool isInvalid = PasswordHasher.VerifyPassword("claveincorrecta", hashedPassword); // false
Ofuscar un ID de Base de Datos
using Quantum.Security.Obfuscators;
// La clave debe tener 16, 24 o 32 caracteres. ¡Guárdala de forma segura!
var obfuscator = new GuidObfuscator("mi_clave_secreta_de_16_chars");
long databaseId = 12345;
string publicId = obfuscator.Obfuscate(databaseId);
// publicId se verá como un GUID: ej. "b2a5c89e-2a42-4f01-b8f2-8a7c1e9b2a1a"
long originalId = obfuscator.DeobfuscateToLong(publicId); // 12345
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT. Ver el archivo LICENSE
para más detalles.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Quantum.Security:
Package | Downloads |
---|---|
Quantum.Data.Executor
Librería de acceso a datos moderna y extensible. Actúa como el motor de ejecución para los scripts generados por Quantum.Data.SqlBuilder, proporcionando una interfaz unificada para SQL Server y servicios web ASMX heredados. |
|
Quantum.Security.JWT
Una librería de seguridad .NET ligera y segura para generar JWT encriptados |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 154 | 9/11/2025 |
Versión 1.0.0: Lanzamiento inicial de la librería Quantum.Security.
- Cifrado simétrico moderno con AesGcmEncryption (con soporte para expiración).
- Hashing de contraseñas seguro con PasswordHasher (PBKDF2-SHA256).
- Utilidad GuidObfuscator para enmascarar IDs numéricos.
- Clases de ayuda para generación de aleatorios y gestión de secretos.