Criptografia base64 com C#

Neste artigo você aprende como Criptografar e Descriptografar usando o método base64 e Class Library.

Publicado em

Por diversos motivos necessitamos que algumas informações sejam mascaradas e desmascaradas apenas quando requisitada, ou seja, enquanto uma informação estiver no banco de dados por exemplo, as informações estejam mascaradas e quando for impresso ao usuário retorna seu resultado inicial desmascarado.

Em todas as linguagens de programação podemos aplicar mecanismos de criptografia, como o Base 64 por exemplo. Neste artigo vamos criar um simples projeto que tem por objetivo criptografar e descriptografar informações usando método Base 64.

Vamos ver ainda na pratica como criar um Class Library, que tem por objetivo gerar uma DLL do nosso projeto, onde a mesma pode ser reaproveitada em qualquer projeto que necessitarmos.

Crie um novo projeto e atribuía o nome de ExemploCriptografia, para isto vá em File (arquivo), New (novo) e por último Project (projeto).

Escolha WindowsFormsApplication em Visual C# e marque .NETFramework4.0, por último clique em OK.

Criptografia base64 com C#
Criptografia base64 com C#

Após o formulário carregado, insira os seguintes componentes: 2 TextBox, 2 Label e 2 Button. Altere as propriedades dos componentes conforme mostrado na tabela abaixo.

Componente

Propriedade

Valor

TextBox

Name

txtEncode

TextBox

Name

txtDecode

Label

Text

Encode

Label

Text

Decode

Button

Name

btnEncode

Button

Text

Encode

Button

Name

btnDecode

Button

Text

Decode

 

Ajuste o formulário como mostra a imagem abaixo.

Criptografia base64 com C#
Criptografia base64 com C#

Com o nosso formulário principal configurado, agora necessitamos criar a Class Libray que irá armazenar os métodos de Encode e Decode.

Clique com o botão direito do mouse sobre nossa solução na aba SolutionExplorer, em seguida clique em Add e por último em NewProject.

Criptografia base64 com C#
Criptografia base64 com C#

Em VisualC#, selecione ClassLibray, atribua o nome CLCripto e clique em OK.

Criptografia base64 com C#
Criptografia base64 com C#

Note que no Solution Explorer apareceu um novo pacote, nele contém apenas um arquivo chamado Class1.cs, apague este arquivo, pois vamos criar um novo.

Criptografia base64 com C#
Criptografia base64 com C#

Clique com o botão direito do mouse em cima do pacote CLCripto, clique em Add e por último em Class. Quando a janela de nova class for carregada atribuía o nome de BaseCripto.cs e clique em OK.

Agora já temos dois pacotes em nosso projeto, porém nosso pacote não consegue visualizar as classes contida na CLCripto, para isto é necessário adicionar uma referência no pacote ExemploCripografia.

Clique com o botão direito do mouse em References no SolutionExplorer, em especifico no pacote ExemploCripografia, Clique em Add Reference...

Criptografia base64 com C#
Criptografia base64 com C#

Na janela para adicionar uma nova referência clique em Solution e Projects, note que nossa ClassLibray é exibida na tabela ao centro, marque o CLCripto e clique em OK.

Criptografia base64 com C#
Criptografia base64 com C#

Agora nosso projeto está completamente configurado, nosso pacote principal consegue enxergar nossa ClassLibray e já podemos implementar nossa classe e métodos.

Volte ao arquivo BaseCripto.cs que criamos no pacote, de um duplo clique nele para abrir. Adicione a palavra public antes de class, desta forma vamos deixar nossa classe publica, sendo assim em qualquer parte do nosso projeto podemos acessa-la.

Adicione os dois métodos mostrados abaixo, note que eles também estão com a visibilidade public e dentro de nossa classe.

Código 01:

public class BaseCripto
    {
        //Method using to Encode, you can use internal, public, private...
        public string Base64Encode(string plainText)
        {
            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
            return System.Convert.ToBase64String(plainTextBytes);
        }

        //Method using to Decode, you can use internal, public, private...
        public string Base64Decode(string base64EncodedData)
        {
            var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
            return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
        }
    }

Agora para fecharmos nosso projeto vamos implementar nossos dois métodos de criptografia em nosso formulário.

De um duplo clique nos dois botões do formulário apenas para implementar os métodos de clique.

Agora podemos fazer de duas formas, a cada vez que o botão for clicado instanciamos o objeto BaseCripto ou criamos uma variável global que é instanciada quando o formulário for carregado.

Criptografia base64 com C#
Criptografia base64 com C#

Note que o BaseCripto está grifado de vermelho, isto indica que o namespace não foi localizado, mas como já adicionamos a referência a nossa class libray ao projeto e criamos a classe BasCripto como publica, o que falta é apenas adicionar o namespace a nossa classe do formulário. Para isto clique em cima do nome BaseCripto e pressione CTRL + . (ponto), clique em usingCLCripto ou se preferir clique com o botão direito do mouse sobre BaseCripto em seguida Resolve e UsingBaseCripto.

Criptografia base64 com C#
Criptografia base64 com C#

Agora só nos resta implementar os métodos dentro do método clique de cada botão, para isto configure como mostrado no código abaixo. Note que em cada método chamados apenas a referência do objeto, chamado de b.

Código 02:

using CLCripto;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ExemploCriptografia
{
    public partial class frmCriptografia : Form
    {
        private BaseCripto b;
        public frmCriptografia()
        {
            InitializeComponent();
            b = new BaseCripto();
        }

         

        private void btnEncode_Click(object sender, EventArgs e)
        {
            txtEncode.Text = b.Base64Encode(txtEncode.Text);
        }

        private void btnDecode_Click(object sender, EventArgs e)
        {
            txtDecode.Text = b.Base64Decode(txtDecode.Text);
        }
    }
}

Se você fez todo o processo como mostrado acima, basta clicar no botão Start para compilar e executar nosso projeto.

Teste os valores, intercalando os campos, ou seja, criptografe em um e descriptografe em outro.

Criptografia base64 com C#
Criptografia base64 com C#

Podemos testar os valores para ver se realmente está funcionando de forma correta através do site https://www.base64decode.org, gere uma chave através de sua aplicação e descriptografe no site.

Criptografia base64 com C#
Criptografia base64 com C#

Basicamente é isto, não há complicações nem mesmo é um monstro de sete cabeças. Agora você está apto a criar ClassLibrary a seus novos projetos e também criptografar suas informações. Em qualquer projeto novo, você pode pegar na pasta do seu projeto a DLL que foi gerada e importar em References ao seu novo projeto.

Espero que tenham gostado, até a próxima e deixem seus comentários a respeito do artigo, isto ajuda muito a elaboração de novos conteúdos.

Fui!!!

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção


Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção