Cargando



Creando un hash con Laravel

Tutorial que enseña cómo crear un hash usando Laravel.


nov 07 2014 02:40
Avanzado
ago 22 2016 16:17

Un hash es una forma de poder encriptar una cadena de caracteres, esto se logra por medio de algún algoritmo que nos ayuda a establecer combinaciones que no son fácilmente detectables por el ser humano.

 

El objetivo de construir una cadena con hash es para proteger su contenido del ojo curioso, por ejemplo una contraseña o hasta un correo electrónico, de esta manera añadimos un nuevo nivel de seguridad a partes clave de nuestras aplicaciones.

 

Laravel nos provee de clases y métodos con los cuales podemos hacer un hash de una cadena de forma muy sencilla, además de poder hacer la comprobación correspondiente de forma que podamos hacer validaciones contra los elementos dados.

 

Requisitos
  • Necesitamos una Base de Datos con una tabla en la cual almacenaremos los valores correspondientes de nuestra aplicación, para facilitar las cosas vamos a asumir que nuestra tabla contiene al menos los siguientes campos: username, email y password.
  • Luego vamos a necesitar una instalación estándar de Laravel con su configuración adecuada para que pueda acceder a la Base de Datos del primer paso.

 

Construyendo la aplicación


Paso 1

Debemos en primer lugar construir una vista, en ella vamos a tener dos partes, una primera sección donde tendremos un formulario que insertará usuarios y una segunda parte que va a listar los usuarios que hemos insertado de manera que podamos ver los datos que se han hasheado, es decir, a los que hemos aplicado el hash. Veamos en las siguientes imágenes el contenido de nuestra vista que llamaremos registro.php y que irá en la carpeta views de nuestra aplicación:

 

laravel-crear-hash.jpg

 

Paso 2

En esta primera imagen vemos que creamos dos formularios, cada uno con método POST que nos va a llevar a dos acciones diferentes en nuestras rutas que construiremos luego. Lo importante es que tenemos los campos que almacenaremos en Bases de Datos:

 

laravel-crear-hash2.jpg

 

Paso 3

En esta segunda imagen vemos el resto de nuestra vista, notamos que hacemos un simple ciclo foreach para poder recorrer la variable $usuarios que es donde traeremos el contenido de nuestra tabla.

Paso 4

Ahora debemos construir las rutas que transformará nuestras acciones, vamos a dividir las rutas en dos también, la primera parte nos va a mostrar la vista con el método GET de HTTP y el siguiente es el que va a almacenar nuestros valores en hash a través del método POST, ambas rutas se llamarán registro, veamos:

 

laravel-crear-hash3.jpg

 

Paso 5

Notamos que para hacer el hash únicamente debemos utilizar el método make de la clase y pasarle la cadena que necesitamos transformar, de la siguiente forma Hash:make(“nuestra cadena de caracteres”);.

Paso 6

Ahora veamos la acción login en la cual vamos a validar los datos que obtenemos de la Base de Datos ya hechos hash:

 

 

laravel-crear-hash4.jpg

 

Paso 7

Aquí vemos cómo hacemos una consulta para obtener el registro a partir del valor no hasheado que es el nombre de usuario o username, luego comparamos el resto de los campos con lo que recibimos por el formulario, para ello usamos el método check que transforma rápidamente la cadena de caracteres de la forma Hash:check(“nuestra cadena de caracteres”); finalmente si las cadenas coinciden mostramos un mensaje de éxito, de lo contrario indicamos que falló.

 

Con esto finalizamos este tutorial, hemos construido un sistema de hash de forma sencilla usando únicamente los componentes de Laravel, esto es algo muy básico si queremos implementar esto en producción debemos utilizar ORM y más validaciones de forma que sea algo totalmente profesional.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X