84 - Encriptación de datos (encode - decode) |
Retomamos la tabla "usuarios".
Eliminamos la tabla si existe:
drop table if exists usuarios;
Creamos la tabla:
create table usuarios ( nombre varchar(30), clave varchar(10) );
Podemos ingresar registros encriptando la clave:
insert into usuarios values ('MarioPerez',encode('Marito','octubre'));
La forma más segura es no transferir la contraseña a través de la conexión, para ello podemos almacenar la clave en una variable y luego insertar la clave encriptada:
select @clave:=encode('RealMadrid','ganador'); insert into usuarios values ('MariaGarcia',@clave);
Veamos los registros ingresados:
select * from usuarios;
Desencriptamos la clave del usuario "MarioPerez":
select decode(clave,'octubre') from usuarios where nombre='MarioPerez';
Desencriptamos la clave del usuario "MariaGarcia":
select decode(clave,'ganador') from usuarios where nombre='MariaGarcia';
Guardamos la clave para el siguiente usuario en una variable llamada "@clavecodificada" y luego ingresamos el registro con la clave encriptada:
select @clavecodificada:=encode('River','SQL'); insert into usuarios values ('JuanJoseTorres',@clavecodificada);
Guardamos la clave para el siguiente usuario en una variable llamada "@clavecodificada" y luego ingresamos el registro con la clave encriptada, usamos la misma contraseña para la encriptación:
select @clavecodificada:=encode('Boca','SQL'); insert into usuarios values ('AnaMariaJuarez',@clavecodificada);
Ahora desencriptamos las claves al momento de la consulta los usuarios:
select decode(clave,'SQL') from usuarios;
Note que se muestran aquellas claves que fueron encriptadas con la contraseña "SQL", las demás fueron mal desencriptadas porque la contraseña al encriptarlas fue otra.