CryptoMJ é uma biblioteca desenvolvida em C# para criptografia e descriptografia.
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.
Install-Package CryptoMJ
Para saber sobre a versão mais recente: https://www.nuget.org/packages/CryptoMJ
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
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