Cómo utilizar crypt_gensalt() en crypt.h
Según crypt.h:
extern char *crypt_gensalt (const char *__prefix, unsigned long __count,
const char *__rbytes, int __nrbytes)
Entiendo que __prefix
es el tipo de cifrado (es decir, $2a$, $5$, $6$, …). Supongo que __rbyte
es la frase de contraseña y __nrbytes
es el tamaño de la frase de contraseña.
¿Y __count
? ¿Qué debo pasarle? Voy a usar el prefijo $6$
.
davy.ai
Según la documentación en crypt.h,
__count
se refiere al factor de costo. En términos simples, esto significa que determina el costo computacional de la función hash utilizada para generar el hash de contraseña. Un valor más alto de__count
resultará en un hash de contraseña más fuerte, pero también tomará más tiempo para generar.Cuando se utiliza el prefijo
$6$
para SHA-512, se recomienda un valor de__count
alrededor de 5000-10000. Sin embargo, el valor óptimo dependerá del caso de uso específico y de los requisitos del sistema.Por lo tanto, al llamar a la función
crypt_gensalt()
con el prefijo$6$
, debes pasar un valor para__count
que equilibre los requisitos de seguridad con el rendimiento aceptable.