Cifrar / Descifrar campos en SQL

1 Cifrar / Descifrar campos en SQLENCRYPTBYPASSPHRASE: Pa...
Author: Ángel López Soto
0 downloads 2 Views

1 Cifrar / Descifrar campos en SQLENCRYPTBYPASSPHRASE: Para cifrar. DECRYPTBYPASSPHRASE: Para descifrar. Como primer paso se tiene que preparar el campo de la base de datos para que sea de tipo VARBINARY.

2 Cifrar / Descifrar campos en SQLComo segundo paso creamos una función escalar en SQL para poder colocar el valor cifrado. Clic derecho sobre la opción “Funciones con valores escalares” y seleccionar “Nueva función con valores escalares”.

3 Cifrar / Descifrar campos en SQLLa función quedaría de la siguiente manera: CREATE FUNCTION [dbo].[fnColocaClave] ( @clave VARCHAR(25) ) RETURNS VarBinary(8000) AS BEGIN AS VarBinary(8000) = --dbCurso09 es la llave para cifrar el campo. END

4 Cifrar / Descifrar campos en SQLPara ejecutar la función al insertar un nuevo campo a una tabla: --El campo a cifrar es contrasena y se guarda el valor 123. INSERT INTO USUARIO_CUR (nombre, apellido, , contrasena) VALUES

5 Cifrar / Descifrar campos en SQLSi se consulta el valor del campo: SELECT id, nombre, apellidos, , contrasena FROM USUARIO_CUR Este sería el resultado:

6 Cifrar / Descifrar campos en SQLEl siguiente paso es crear la función para leer el campo cifrado. CREATE FUNCTION fnLeeClave ( @clave VARBINARY(8000) ) RETURNS VARCHAR(25) AS BEGIN AS VARCHAR(25) --Se descifra el campo aplicándole la misma llave con la que se cifró = END

7 Cifrar / Descifrar campos en SQLPor último para consultar la tabla aplicándole al campo cifrado la función: SELECT id, nombre,apellidos, ,dbo.fnLeeClave(contrasena) FROM USUARIO_CUR Este sería el resultado: