PHP avanzado: herramientas profesionales

Cifrado con la extensión de MCrypt

¡Prueba gratis durante 10 días

nuestros 1142 cursos !

Prueba gratis Mostrar modalidades de suscripción
Es importante proteger información sensible ya sea en nuestro código o en una base de datos. PHP puede utilizar la extensión de MCrypt para proteger datos, de manera que no se puedan leer a menos que se tenga una llave. Veamos de manera simple cómo usarla.
04:29

Transcripción

La seguridad es importante y PHP nos da un arsenal de herramientas para cuidarla. Una herramienta útil aunque no tan sencilla de usar es MCrypt. De hecho, algunos "frameworks" no funcionan si el módulo MCrypt no está activado. Veamos un ejemplo para cifrar y descifrar datos. Asegurémonos que el módulo de MCrypt está activado. En este caso no está activado, yo voy a tener que utilizar otro ejecutable con el cual sí está activado. Ahora, vamos entonces a crear nuestro ejemplo. He agregado el tipo de encriptado y el modo porque de todas maneras lo íbamos a copiar de la documentación de PHP. Ahora vamos a agregar una llave, la llave va a ser del 1 al 0 y luego del 1 al 6. Ojo, la llave debe tener o 16 o 24 o 32 caracteres, de lo contrario, marcará un error. Ahora vamos a crear un vector de inicialización. Lo hacemos de la forma: 'iv' es igual a 'mcrypt_create_iv'. Nos pide un tamaño, vamos a ocultar la barra lateral, y en lugar de tamaño, vamos a decir que 'mcrcypt get iv size': 'mcrypt_get_iv_size' y el cifrado y el modo. Vamos utilizar entonces 'encryption' y en 'modo' vamos a pasarle 'modo'. Por último, vamos a decir cómo va a generar los números aleatorios con 'mcrypt': 'mcrypt_dev_urandom'. Listo. Agreguemos una contraseña con 'text' igual a –vamos a dejarla en 'password'–. Y por último, vamos a cifrarla con 'crypt' es igual a 'mcrypt_encrypt'. El cifrado va a ser 'encryption', la llave va a ser 'key', los datos van a ser 'text' y el modo ya lo tenemos. Por último, vamos a pasarle un argumento adicional que va a ser el vector de inicialización. Con esto, hemos creado el cifrado. Veamos el resultado con 'var_dump' y con 'crypt'. Nos vamos a la línea de comandos y ejecutamos 'php index.php' y nuestra contraseña ya está cifrada. Adicionalmente, va cambiando de acuerdo al número aleatorio que obtiene. Una vez guardado el cifrado, volvemos a tener el valor original. Vamos entonces a obtener valor original con una variable adicional que se llama 'get_ original_ text', y vamos a obtenerlo con 'mcrypt_ decrypt'. Vamos a decir que es 'encryption', la llave es 'key', los datos van a ser 'crypt' y el modo ya lo tenemos con 'mode'. Adicionalmente, le vamos a pasar otra vez el vector de inicialización. Vamos entonces a obtener el valor 'var_dump', 'get_original_text', lo ejecutamos en la línea de comandos, y listo, ya tenemos nuestro dato original. Datos sensibles, podremos almacenarlos cifrándolos en la base de datos y la llave podríamos tenerla en una variable de ambiente. Así, si alguien llegara a robar el código fuente, no podría acceder a dichos datos sin tener acceso a la variable de ambiente.

PHP avanzado: herramientas profesionales

Aprende que PHP va mucho más allá que manejo de formularios y páginas web y puedes usar herramientas que hacen que PHP se convierta en una gran opción para aplicaciones robustas.

1:37 horas (24 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.