7. Curso SQL SERVER -Comando UPDATE y uso de Encriptación
- Hola a todos , en esta ocasión vamos continuar con nuestro curso sobre SQL SERVER. En este capítulo del curso vamos a ver el uso del comando UPDATE , que sirve para actualizar los datos de los registros que tenemos almacenado en una tabla de nuestra base de datos.En este enlace tenéis información más detallada: https://docs.microsoft.com/es-es/sql/t-sql/queries/update-transact-sql?view=sql-server-2017
- También veremos como encriptar datos de una columna de una tabla.En nuestro ejemplo encriptaremos los datos de la columna pass de nuestra tabla usuarios. Utilizaremos funciones y métodos propios de SQL. En este enlace tenéis la información oficial de Microsoft: https://docs.microsoft.com/es-es/sql/t-sql/functions/encryptbykey-transact-sql?view=sql-server-2017.
- Como acostumbro os dejo también el esquema de la base de datos para que tengáis claro a que campo me refiero:
- Os dejo el vídeo con la explicación del uso de comando UPDATE. Además os explico como encriptar una columna de una tabla, para el caso que no queramos que los valores se muestren por pantalla de una manera legible.
- Como acostumbro os dejo las consultas de la parte de cifrado hechas durante este capítulo:
USE master;
GO
SELECT * FROM sys.symmetric_keys WHERE name = '##MS_ServiceMasterKey##';
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'ClaveCurso';
CREATE CERTIFICATE Certificado WITH SUBJECT = 'Pruebas';
CREATE SYMMETRIC KEY MiClave WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE Certificado;
--CONSULTAS UPDATE
OPEN SYMMETRIC KEY MiClave DECRYPTION BY CERTIFICATE Certificado;
UPDATE USUARIOS SET Pass = EncryptByKey (Key_GUID('MiClave'),'PASS1') FROM dbo.USUARIOS WHERE idusuario=1;
UPDATE USUARIOS SET Pass = EncryptByKey (Key_GUID('MiClave'),'PASS2') FROM dbo.USUARIOS WHERE idusuario=2;
UPDATE USUARIOS SET Pass = EncryptByKey (Key_GUID('MiClave'),'PASS3') FROM dbo.USUARIOS WHERE idusuario=3;
UPDATE USUARIOS SET Pass = EncryptByKey (Key_GUID('MiClave'),'PASS4') FROM dbo.USUARIOS WHERE idusuario=4;
UPDATE USUARIOS SET Pass = EncryptByKey (Key_GUID('MiClave'),'PASS5') FROM dbo.USUARIOS WHERE idusuario=5;
CLOSE SYMMETRIC KEY MiClave;
-- Leer los datos
OPEN SYMMETRIC KEY MiClave DECRYPTION BY CERTIFICATE Certificado;
GO
SELECT Nombre,Email ,Pass AS 'encriptado', CONVERT(varchar, DecryptByKey(Pass)) AS 'sin encriptar' FROM dbo.USUARIOS;
-- Close the symmetric key
CLOSE SYMMETRIC KEY MiClave;
No hay comentarios:
Publicar un comentario