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: