Criptografia no SQL Server 2008

O termo criptografia surgiu da fusão das palavras gregas “kryptós” e “gráphein”, que significam “oculto” e “escrever”, respectivamente. A idéia de criptografia nasceu na época da Roma antiga onde as mensagens enviadas entre os generais de Cezar deveriam ser compreendidas somente pelos destinatários.

Na computação, as técnicas mais conhecidas envolvem o conceito de chaves, as chamadas chaves criptográficas. Trata-se de um conjunto de bits baseado em um determinado algoritmo (equação) capaz de codificar e de decodificar informações. Se o receptor da mensagem usar uma chave incompatível com a chave do emissor, não conseguirá extrair a informação. Criptografar e descriptografar informações no SQL Server é muito simples. Siga os passos descritos á seguir.

Acesse o SQL Management Studio e crie uma nova consulta. Usaremos o banco criado anteriormente. Digite e execute

USE BD_TI_SELVAGEM

Primeiro precisamos declarar uma variável e um tipo de dados e em seguida atribuir um valor. No exemplo iremos declarar uma variável FRASE e SENHA (perceba que toda variável deve ser antecedida por arroba). Após isso usamos SET para atribuir um valor para a variável.

DECLARE @FRASE NVARCHAR(4000)
SET @FRASE = ‘CRIPTOGRAFIA’
DECLARE @SENHA NVARCHAR(4000)
SET @SENHA = ‘TISELVAGEM’

–EXEMPLO CRIPTOGRAFIA DE DADOS

O método interno ENCRYPTBYPASSPHRASE do SQL Server faz todo o trabalho pra gente  embaralhando duas variáveis.
DECLARE @CRIPTOGRAFADO  VARBINARY(4000)
SET @CRIPTOGRAFADO = ENCRYPTBYPASSPHRASE(@FRASE, @SENHA)

O processo inverso é realizado pelo método DECRYPTBYPASSPHRASE que pega os valores criptografados e os converte novamente ao formato original.
DECLARE @DESCRIPTOGRAFADO  NVARCHAR(4000)
SET @DESCRIPTOGRAFADO = DECRYPTBYPASSPHRASE(@FRASE, @CRIPTOGRAFADO)

Executando o comando PRINT podemos ver os resultados

PRINT @FRASE
PRINT @SENHA
PRINT @CRIPTOGRAFADO

Simples eficaz e  direto.

Espero que esta informação tenha alguma utilidade em seus projetos usando SQL Server 2008.  Fica aqui minha sugestão para pesquisar sobre Criptografia de chave simétrica e assimética para se aprofundar mais no assunto.

Até a próxima.

Comentarios

comentarios