Espere porfavor...
cargando
  Iniciar sesión |   Registrarse
PUBLICIDAD OPCIONAL

Encriptar contraseñas

x-jim Publicado el: 13/02/2019 16:31:46
Avatar
Posts: 104
Aqui os dejo una manera útil de encriptar contraseñas:


<?php

// Input de password
$pasword = 'mi_password';

$cost = 10; // Coste de la encriptación
$password = password_hash($pasword, PASSWORD_BCRYPT, ['cost' => $cost]);

// el hash de password es diferente cada vez (podemos copiarlo en la variable $hash para hacer pruebas)
// echo $password;

// Esto se almacena en la db, es uno de los hash generados anteriormente
$hash = '$2y$10$W7.zJJ6Sd2gqlaxpXKBpb.3UlKFKkYX.mmAInLYdmzv8RviZMA7oi';

if (password_verify($pasword, $hash)) {
echo 'Password válido';
} else {
echo 'Password incorrecto';
}

// Consultamos información sobre el sistema de encriptado
print_r( password_get_info( $hash ));
?>


Con lo mencionado anteriormente podemos evitar crear contraseñas inseguras ya que el uno de los sistemas más comunmente utilizado, en este caso MD5 puedes llegar a romper contraseñas mediante colisiones, ya que la longitud de carácteres es limitada.

Con este método el hash del password que se suele almacenar en la base de datos, es distinto cada vez, por poner un ejemplo:

$2y$10$W7.zJJ6Sd2gqlaxpXKBpb.3UlKFKkYX.mmAInLYdmzv8RviZMA7oi = mi_password

Pero el siguiente hash también es válido, en el caso del md5, los hashes son identicos.

$2y$10$pWBiHTudoH4r6N0w9xqnXeCdYpK3W4rZ17bQp4ejJik5YvlniVKEy = mi_password

   

Estadísticas del foro

Usuarios online: 31

Miembros:

156 Mensajes en 101 Temas por 144 Usuarios.

Potenciado por

jQuery

PHP MySQL XHTML

Programado y Diseñado por: x-jim
Copyright 2009 Todos los derechos reservados | Foros XJ-Forum v1.1.0