DMS.Security.Eng 1.0.1

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

DMS.SqlScriptGenerator

NuGet Version NuGet Downloads

Paquete NuGet: DMS.Security.Eng Autor: Fredy Fuentes

📜 Descripción

SecureCommsLibrary es una librería .NET que simula un sistema de cifrado. Permite cifrar y descifrar mensajes utilizando una configuración diaria generada de forma determinista, asegurando que el emisor y el receptor estén siempre sincronizados si utilizan la misma fecha.

📝 Características Principales

  • Cifrado y Descifrado Simétrico: La misma clave utilizada para cifrar es la que se utiliza para descifrar.
  • Generación de Claves Diarias: Genera automáticamente una clave única y predecible para cualquier día, facilitando la sincronización.
  • API Simple: La librería está diseñada para ser intuitiva y fácil de integrar.
  • Sin Dependencias Externas: Es completamente autónoma y no requiere paquetes adicionales.

📖 Ejemplos de Uso

📖 Iniciar una Transacción

// Importa el namespace de la librería
using SecureCommsLibrary;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("--- SIMULADOR DE COMUNICACIONES SEGURAS ---");

        // 1. Crea una instancia del generador de claves.
        var keyGenerator = new KeyGenerator();

        // 2. Genera la clave para el día de hoy.
        // Ambos, emisor y receptor, obtendrán la misma clave si usan la misma fecha.
        EngSetting dailyKey = keyGenerator.GenerateKeyForDate(DateTime.Today);

        // 3. (Opcional) Muestra la configuración generada.
        dailyKey.PrintSettings();

        // 4. Prepara el mensaje. 
        // Es una buena práctica eliminar espacios o reemplazarlos por un carácter como 'X'.
        string originalMessage = "ESTO ES UNA PRUEBA SECRETA";
        string preparedMessage = originalMessage.ToUpper().Replace(" ", "X");
        
        Console.WriteLine($"\n[+] Mensaje Original: {originalMessage}");
        Console.WriteLine($"[>] Mensaje Preparado: {preparedMessage}");

        // --- Cifrado ---
        // 5. Crea una instancia de la máquina con la clave del día.
        var cipherMachine = new Machine(dailyKey);
        string encryptedMessage = cipherMachine.ProcessMessage(preparedMessage);
        Console.WriteLine($"[#] Mensaje Cifrado:  {encryptedMessage}");

        // --- Descifrado ---
        // 6. Para descifrar, crea una nueva instancia de la máquina con la misma clave.
        var decipherMachine = new Machine(dailyKey);
        string decryptedMessage = decipherMachine.ProcessMessage(encryptedMessage);
        Console.WriteLine($"[+] Mensaje Descifrado: {decryptedMessage}");
        
        // 7. Verifica que el resultado sea correcto.
        Console.WriteLine($"\n¿El resultado es correcto? -> {preparedMessage == decryptedMessage}");
    }
}

🚀 Instalación

Puedes instalar el paquete desde NuGet con:

dotnet add package DMS.Security.Eng

🛠 Compatibilidad

  • .NET 7.0+
  • .NET 8.0+
  • .NET 9.0+

📄 Licencia

Este proyecto se encuentra bajo la licencia Apache2-0.


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

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DMS.Security.Eng:

Package Downloads
DMS.Security.JWT

Librería de clases para creacion de JWT.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 180 9/2/2025
1.0.0 132 9/2/2025