Como encriptar cadenas y campos en SQL server 2005

SQL server 2005 trae soporte para todo tipo de encriptación, en pero en este articulo nos centraremos en el más rápido y sencillo, también es el más inseguro, pero es infinitamente mejor que nada.encriptar con SQL server 2005

Ante todo un consejo: a más datos encriptados más lento y complejo será nuestro trabajo y el acceso a los datos, hay que encriptar sólo lo necesario.

Supongamos que tenemos una base de datos donde se almacenan todos los usuarios y sus contraseñas y queremos guardar el valor de esas contraseñas encriptadas, podemos usar la nueva función ENCRYPTBYPASSPHRASE

Supongamos que la tabla tenga dos campos user y pass:


INSERT
INTO USUARIOS
VALUES ("Aldeamedia",
ENCRYPTBYPASSPHRASE('C1traseña','MiContraseña'))
GO

    Si examinamos el contenido de la tabla usuarios veremos que el campo password contendrá un valor similar a este: 0x02000000B351570EC53EE578CB15ED15BEDA340BFE55C44C6C2833F1 es nuestra contraseña encriptada.

    Para poder leerla tendremos que usar la misma contraseña que usamos para encriptar y la función DECRYPTBYPASSPHRASE.


SELECT
  User, CONVERT(VARCHAR(300),
       DECRYPTBYPASSPHRASE('C1traseña',Pass))
FROM
USUARIOS


    Como digo hay por lo menos tres formás más de encriptar, usando claves simetricas, asimetricas y certificados digitales, pero esta es la más sencilla y muy eficiente siempre que mantengamos la contraseña de encriptación bién segura.

    La mejor forma de usar esta encriptación es mediante procedimientos almacenados que tomen la contraseña de encriptación como parametro.

¿Dudas? no os canseis de preguntar en los foros de devjoker.

Pablo Gumpert Fernandez

Pablo  Gumpert  Fernandez (aldeamedia)
Como encriptar o cifrar cadenas y campos en SQL server 2005 ENCRYPTBYPASSPHRASE y DECRYPTBYPASSPHRASE
Pablo Gumpert Fernandez (aldeamedia)

Pablo Gumpert es formador y consultor oficial de Microsoft para .NET y SQL server.Lleva desarrollando desde hace más de diez años y durante ese tiempo ha trabajado como programador de videojuegos ,analista informático, experto en seguridad, DBA ... Actualmente se dedica sobre todo a la formación. Su especialidad es la programación en .NET aunque también es experto en MSSQL Server y en el año 2002 fundó su propia empresa colaboradora de diversos centros partner Microsoft.
Fecha de alta:01/09/2006
Última actualizacion:01/09/2006
Visitas totales:59173
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com