- #laravel
- #helpers
- #seguridad
Generar contraseñas seguras con Laravel 10
Escrito por Jhon Achata el 22 de febrero de 2023
Introducción
La mayoría de sistemas necesitan un sistema de autenticación con usuario y contraseña, y en ocasiones la generación de la contraseña es nuestra responsabilidad, por lo tanto debemos idear una solución o usar un paquete para que estas contraseñas sean lo más seguras posibles.
Anteriormente para generar estas contraseñas se hacia uso del helper
Str::random()
, que generaba un cadena de texto aleatoria, pero en algunas ocasiones la cadena no era suficientemente segura.
Contraseñas seguras con Str::password()
A partir de Laravel 10
se introdujo un nuevo método Str::password()
para generar contraseñas seguras, que genera una cadena de texto que incluye letras (mayúsculas y minúsculas), símbolos y números, que es bastante fácil de usar.
use Illuminate\Support\Str;
$password = Str::password();
// EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4
Parámetros adicionales del helper Str::password()
La función password()
recibe varios parámetros que nos pueden ayudar a personalizar aún más el texto generado
public static function password( $length = 32, $letters = true, $numbers = true, $symbols = true, $spaces = false) { ... }
Por ejemplo, si queremos generar una cadena con solo 12 caracteres y que contenga solo números y símbolos, podemos hacer lo siguiente:
$password = Str::password(12, false);
// 64&23)3@418$