Desenvolvimento - C#

Enterprise Library 1.0 -Cryptography Application Block passo a passo

O Cryptography Application Block for lançado pela Microsoft dentro de um pacotão de patterns. O Objetivo deste pattern é diminuir o trabalho que temos hoje para criptografar e descriptografar valores utilizando diversos tipos de criptografias existentes.

por Alexandre Tarifa



O Cryptography Application Block for lançado pela Microsoft dentro de um pacotão de patterns. O Objetivo deste pattern é diminuir o trabalho que temos hoje para criptografar e descriptografar valores utilizando diversos tipos de criptografias existentes.

Para baixar o Enterprise Library acesse o link e instale em sua máquina.

Este passo a passo não tem como objetivo explicar os diversos tipos de criptografias e nem sobre o conceito de patterns.

Na prática:

Abra o Visual Studio, selecione um projeto C# com o template Windows Application. Defina um nome e um caminho para a aplicação.

O primeiro passo é adicionar a referencia da Dll necessária para a utilização do pattern. No solution explorer clique com o botão direito do mouse sobre references> Add Reference.

Após aberto a janela de referência, clique em Browse e selecione as Dll´s que estão dentro da pasta Bin no diretório que estiver instalado o Entreprise Library:

Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll
Microsoft.Practices.EnterpriseLibrary.Configuration.dll

Após adicionar as referências, monte um formulário conforme abaixo:

Adicione o namespace:

using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;

Declare uma variável pública com o tipo de criptografia

public String tipo= "RC2CryptoServiceProvider"

RC2CryptoServiceProvider é o tipo de criptografia que escolhi.

O primeiro TextBox será o valor a ser criptografado, o valor criptografado será exibido no TextBox2 e o terceiro TextBox3 terá o valor inicial. Para isso de um duplo clique sobre o botão Cript e digite o seguinte código:

private void button1_Click(object sender, System.EventArgs e)
{
   textBox2.Text = Cryptographer.EncryptSymmetric(tipo, textBox1.text);
}

No botão Decript digite o seguinte código:

private void button2_Click(object sender, System.EventArgs e)
{
   textBox3.Text = Cryptographer.DecryptSymmetric(tipo, textBox2.text);
}

Pronto, até agora nada demais, agora que vem o grande detalhe. Os patterns são totalmente baseados em arquivos de configuração, alguns muito complexos. O Enterprise Library traz um software que gera esses arquivos. Primeiro adicione um arquivo app.config vazio no projeto. No Solution Explorer clique com o botão direito do mouse sobre o projeto > add > add new item, selecione Application Configuration.

Vá no menu Iniciar > Programas > Microsoft patterns & practices e Enterprise Library Configuration. O software é aberto:

Deve ser criado um novo projeto, clique em File > New Application:

Clique com o botão direito do mouse sobre Application1 > New > Cryptography Application Block.

Clique com o botão direito do mouse sobre Symmetric Providers> New> Symmetric Algorithm Provider> RC2CryptoServiceProvider. Na próxima janela poderíamos escolher uma chave para criptografia mas neste caso clique somente em OK.

Pronto agora salve e no caminho sobrescreva o arquivo App.Config da aplicação. Para testar copie os arquivos de configuração App.Config e securityCryptographyConfiguration.config dentro da pasta Bin. Execute a aplicação:

Teste a aplicação e note que os dados são criptografados e descriptografados.

Se você tem interesse em aprender .net ou discutir .net entre no grupo de usuários Codificando.net - São Paulo.

Se tiver alguma dúvida, crítica, sugestão de artigo, fale comigo: alexandretarifa@gmail.com. Abraços.

Alexandre Tarifa
Líder Codificando.net SP (www.codificando.net)

Alexandre Tarifa

Alexandre Tarifa - Ministra palestras e treinamentos, MVP (Most Valuable Professional), MCAD (Microsoft Certified Application Developer) e MCT (Microsoft Certified Trainer). Bacharel pela UMESP e pós-graduando pela Universidade Federal de São Carlos em Ciência da Computação. Analista de Sistemas e Líder do grupo de usuários Codificando.net São Paulo (sp.codificando.net). Escreve artigos para a revista MSDN Magazine e para os sites Linha de Código, MSDN Brasil e Enterpriseguys.
Visite o blog do autor: http://weblogs.pontonetpt.com/alexandretarifa/.