Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Verify password hash

Verify password hash  


 

Verify password hash ( contrasena ; hash ) -> Resultado 
Parámetro Tipo   Descripción
contrasena  Cadena in La contraseña de usuario. Sólo se utilizan los primeros 72 caracteres.
hash  Cadena in Un hash de contraseña.
Resultado  Booleano in Devuelve TRUE si la contraseña y hash coinciden, de lo contrario devuelve FALSE.

La función Verify password hash verifica que el hash dado coincida con la contrasena dada.

Esta función compara la contrasena con un hash generado por la función Generate password hash.

Se pueden devolver los errores siguientes. Puede revisar un error con los comandos GET LAST ERROR STACK y ON ERR CALL.
 

NúmeroMensaje
850Password-hash: Algoritmo no soportado.
851Password-hash: Fallo de verificación de consistencia.

Recordatorio: solo se soporta el algoritmo bcrypt. Si su hash no se generó utilizando bcrypt, se devuelve un error.

Ejemplo  

Este ejemplo verifica un hash de contraseña creado previamente por Generate password hash y almacenado en una tabla [Users] con una contraseña introducida recientemente:

 C_TEXT($password)
 $password:=Request("Por favor introduzca su contraseña")
 
 If(Verify password hash($password;[Users]hash))
    ALERT("Contraseña correcta")
 Else
    ALERT("Contraseña incorrecta")
 End if

Nota: la contraseña nunca se almacena en el disco, sólo el hash. Utilizando una aplicación 4D remota, el hash podría ser producido del lado del cliente. Si en cambio, utiliza un front end basado en JavaScript (o similar), la mejor práctica para la seguridad es crear el hash del lado del servidor. Por supuesto, debe utilizar una conexión de red cifrada TLS para la seguridad, ya que esto requiere la transferencia de la contraseña a través de la red.



Ver también 

4D Security guide
Generate password hash

 
PROPIEDADES 

Producto: 4D
Tema: Herramientas
Número 1534

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R5

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)