Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 2.68 KB

README.md

File metadata and controls

79 lines (55 loc) · 2.68 KB

CryptoMJ

CryptoMJ é uma biblioteca desenvolvida em C# para criptografia e descriptografia.

Porquê usar CryptoMJ?

Com a necessidade de criptografia para aplicativos desenvolvido em Blazor Web Assembly, AINDA não existe suporte para a biblioteca System.Security.Cryptography. A intenção não é e nem deve ser utilizar a criptografia do lado do cliente de forma 100% segura, apenas dificultar o acesso a informação.

Instalação

 Install-Package CryptoMJ

Para saber sobre a versão mais recente: https://www.nuget.org/packages/CryptoMJ

Como usar

Instanciando as classes e métodos

using CryptoMJ;

string key = "chave aleatoria para criptografia";
string textToEncrypt = "texto que sera criptografado";
ICrypto crypto = new CryptoBuilder().Build();
string encryptedText = crypto.Encrypt(textToEncrypt, key);
string decryptedText = crypto.Decrypt(encryptedText, key);

Console.WriteLine($"chave: {key}");
Console.WriteLine($"texto: {textToEncrypt}");
Console.WriteLine($"texto criptografado: {encryptedText}");
Console.WriteLine($"texto descriptografado: {decryptedText}");

Veja o exemplo utilizando um aplicativo de console

Usando injeção de dependência

Em sua classe Program faça a chamado ao método AddCryptoMJ()

using CryptoMJ;
    
Services.AddCryptoMJ();

Utilizando em um aplicativo de console

using CryptoMJ;
using Microsoft.Extensions.DependencyInjection;

new ServiceCollection()
    .AddCryptoMJ()
    .AddScoped<Startup>()
    .BuildServiceProvider()
    .GetService<Startup>();

public class Startup
{
    public Startup(ICrypto crypto)
    {
          string key = "chave aleatoria para criptografia";
          string textToEncrypt = "texto que sera criptografado";
          string encryptedText = crypto.Encrypt(textToEncrypt, key);
          string decryptedText = crypto.Decrypt(encryptedText, key);

          Console.WriteLine($"chave: {key}");
          Console.WriteLine($"texto: {textToEncrypt}");
          Console.WriteLine($"texto criptografado: {encryptedText}");
          Console.WriteLine($"texto descriptografado: {decryptedText}");
     }
}

Veja o exemplo