quinta-feira, 12 de fevereiro de 2009

Criptografia no Sql Server utilizando frase e um identificador da tabela

Essa é uma das maneiras de criptografar dados no sql server, 
consiste em criptografar uma sequencia de caracteres ou uma senha usando
uma frase ou uma palavra mais facil de lembrar e um campo identificador da tabela, 
pode ser um id ou qualquer outro.


Vamos cria a tabela conta com os campos usuario e senha...

CREATE TABLE #CONTA (USUARIO VARCHAR(50), SENHA VARBINARY(256))


Agora vamos inserir os dados do usuario na tabela encriptando com a função "encryptbypassphrase"
passando como parametros a FRASE secreta, a SENHA que sera encriptada, uma FLAG abilitando o uso de um identificador que será
o campo USUARIO...

INSERT INTO #CONTA VALUES ('ELVIS', ENCRYPTBYPASSPHRASE('QUERO MINHA SENHA', 'ESSA3AMINH423NH4$UP3RC0MP1X4',1,'ELVIS'))


E para finalizar vamos desencriptar utilizando a função "decryptbypassphrase" e como parametro é passado a FRASE secreta, 
a senha encriptada do campo SENHA, novamente a FLAG abilitando o identificador e o identificador que nesse caso usamos o campo USUARIO...

SELECT 
USUARIO, 
SENHA AS 'SENHA ENCRYPTADA', 
CONVERT(VARCHAR,DECRYPTBYPASSPHRASE('QUERO MINHA SENHA', SENHA,1,USUARIO)) AS 'SENHA DESENCRYPTADA' 
FROM 
#CONTA

Tambem é possivel fazer somente com a frase secreta sem utilizar nenhum campo identificador, basta não colocar a flag e o identificador.


confiram mais informações no link abaixo...
http://msdn.microsoft.com/pt-br/library/ms190357.aspx

Nenhum comentário:

Postar um comentário