Al crear una base de datos hay ocasiones en que se necesita
cifrar un campo para que al realizar una consulta el valor original no sea
visible a los usuarios, por ejemplo cuando se crea una tabla que almacene
usuarios y contraseñas.
Existen diferentes tipos de cifrado que varían su grado de
seguridad, entre los cuales están los siguientes:
Este cifrado utiliza un campo de 32 caracteres alfanuméricos,
el algoritmo MD5 no puede ser revertido, (Se ha mostrado que si es posible,
pero es proceso es muy complejo), es decir una vez que se ha cifrado no se
puede regresar al valor original.
La forma de hacerlo es la siguiente:
mysql>
INSERT INTO usuarios(usurio,clave) VALUES('usuario',MD5('clave'));
SHA o SAH1
Al igual que MD5 una vez que se ha cifrado el campo con ella
no puede ser revertido, SHA utiliza un cheksum de 160 bits mientras que MD5 es de
128 bits, por lo que es más seguro su uso y necesita 40 caracteres para
almacenarse.
La forma de hacerlo es la siguiente:
La forma de hacerlo es la siguiente:
mysql>
INSERT INTO usuarios(usurio,clave) VALUES('usuario',SHA('clave'));
AES
Este a diferencia de los dos anteriores si puede ser revertido
a su valor original, y el campo donde se almacena debe ser de tipo BLOB, y se
encuentra implementado desde MySQL 4.0.2
Para cifrar:
Para cifrar:
mysql>
INSERT INTO usuarios (usurio,clave) VALUES('usuario',AES_ENCRYPT('contraseña','clave'));Para descifrar:
Comentarios