Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Generate password hash
|
Generate password hash ( contrasena {; opciones} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
contrasena | Cadena |
![]() |
La contraseña del usuario. Sólo se utilizan los primeros 72 caracteres. | |||||
opciones | Objeto |
![]() |
Un objeto que contiene opciones. | |||||
Resultado | Cadena |
![]() |
Devuelve la contraseña hash. | |||||
La función Generate password hash devuelve un hash de contrasena seguro generado por un algoritmo de hash criptográfico.
Pase un valor de cadena en el parámetro contrasena. Generate password hash devuelve una cadena de hash para la contraseña. Múltiples pases de la misma contraseña darán lugar a cadenas hash diferentes.
En el objeto opciones, pase las propiedades que se utilizarán al generar el hash de la contraseña. Los valores disponibles se muestran en la siguiente tabla:
Propiedad | Tipo de valor | Descripción | Valor por defecto |
algorithm | cadena | algoritmo que se utilizará. Actualmente sólo se admite "bcrypt" (sensible a mayúsculas y minúsculas). | bcrypt |
cost | numérico | velocidad que se utilizará. Los valores admitidos para bcrypt están entre 4 y 31. | 10 |
Nota: si un valor en el objeto de opciones no es válido, se devolverá un mensaje de error y una cadena vacía.
Se pueden devolver los siguientes errores. Puede revisar un error con los comandos GET LAST ERROR STACK y ON ERR CALL.
Número | Mensaje |
850 | Password-hash: Algoritmo no soportado. |
852 | Password-hash: No disponible bcrypt costo parámetro, ofrece un valor entre 4 y 31. |
bcrypt es una función de hashing de contraseñas basada en el cifrado Blowfish. Además de incorporar una sal para proteger contra los ataques tabla arco iris, es una función adaptativa en la que el recuento de la iteración puede aumentarse para hacerla más lenta, por lo que sigue siendo resistente a los ataques de fuerza bruta incluso con el aumento del poder computacional, porque toma demasiado tiempo y es costoso.
Este ejemplo genera un hash de contraseña utilizando bcrypt con un factor de costo 4.
C_TEXT($password)
C_TEXT($hash)
C_OBJECT($options)
$options:=New object("algorithm";"bcrypt";"cost";4)
$password:=Request("Please enter your password")
$hash:=Generate password hash($password;$options)
[Users]hash:=$hash
SAVE RECORD([Users])
Nota: múltiples pasadas de la misma contraseña darán lugar a cadenas hash diferentes. Este es un comportamiento estándar para algoritmos como bcrypt, ya que la mejor práctica es crear una nueva sal aleatoria para cada hash. Consulte la descripción Verify password hash para ver un ejemplo de cómo comprobar las contraseñas.
Producto: 4D
Tema: Herramientas
Número
1533
Creado por: 4D v16 R5
Manual de lenguaje 4D ( 4D v20 R7)