Código de PHP - Clase para crear y validar contraseñas seguras

Imágen de perfil
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Clase para crear y validar contraseñas segurasgráfica de visualizaciones


PHP

Actualizado el 9 de Diciembre del 2016 por Kip (28 códigos) (Publicado el 17 de Octubre del 2016)
5.932 visualizaciones desde el 17 de Octubre del 2016
Clase sencilla que ayuda a crear y asi mismo a validar contraseñas, para la creación de estas usa el algoritmo BLOWFISH incluido ya en PHP.

Ejemplos de uso:

Crear un hash a partir de una variable $_POST

1
2
3
4
5
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);

Validar una contraseña a partir de una contraseña ingresada y tomar el hash ya almacenado en la base de datos

1
2
3
4
5
6
7
8
9
10
11
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
 
//$password_base_de_datos es la variable de la contraseña almacenada en la base
//creado con la funcion cryptphass() de esta misma clase
 
if ($obj->verifphass($password_post, $password_base_de_datos)) {
	echo 'Contraseña valida!';
}

Es posible modificar el coste por defecto a usar en la encriptación, el que toma por defecto es el 10 un coste optimo pero depende del hardware y puede aumentarse de esta forma:

1
2
3
4
5
6
require 'phasswordClass.php';
 
$obj = new Phassword;
$obj->coste = 15;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);

Esta clase funciona con una version de PHP mayor o igual a 5.3.7 en este caso usa la funcion crypt() y en el caso de tener una version mayor o igual a 5.5 usa la funcion password_hash() para crear el hash de la contraseña.

En caso de tener una duda acerca de lo expuesto anteriormente es mejor hacer una evaluacion del retorno de la funcion que crea el hash y asi mismo en caso de que exista un error mostrarlo llamando a la variable 'error' de la clase, asi:

1
2
3
4
5
6
7
8
9
10
11
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);
 
if (!$password_hash) {
	echo $obj->error;
} else {
	echo 'Contraseña creada!';
}

Lo mejor seria tener una versión estable PHP para la correcta creación y verificación de contraseñas.

Cualquier error o duda comentarlo por aqui.

Saludos

Requerimientos

PHP >= 5.3.7

1.0
estrellaestrellaestrellaestrellaestrella(4)

Actualizado el 13 de Diciembre del 2016 (Publicado el 17 de Octubre del 2016)gráfica de visualizaciones de la versión: 1.0
5.933 visualizaciones desde el 17 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: 1.0 (4)

Imágen de perfil
17 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Muy bueno kip, desconocia por completo el algoritmo BLOWFISH!!!
Responder
Imágen de perfil
21 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Es una opción muy novedosa para mí, no la conocía. Parece muy interesante y segura.

Gracias por mantenernos al día en estos temas.

Un saludo
Responder
Imágen de perfil
13 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Imágen de perfil
19 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Interesante post.
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3714