Hace un par de años, cuando estaba aprendiendo el desarrollo web básico de back-end, encontré un tutorial para crear un registro básico en el sistema. No he modificado mucho el código desde entonces, pero ahora tengo la oportunidad de usar un sistema más robusto si es necesario.
Así que aquí está el código que estoy usando actualmente:
$pepper = "String of 24 random characters";
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
$loopcount = 97674;
for($i = 0; $i < $loopcount; $i++){
$value = hash("sha256", $value . $salt . $pepper);
}
return $value;
Básicamente, un pimiento estático de 24 caracteres, una sal y la contraseña se recortan más de 90,000 veces. Probablemente también vale la pena mencionar que la sal se almacena en la base de datos.
Mi mayor pregunta es si hash que muchas veces realmente hace algo. También quiero saber si la sal y la pimienta son lo suficientemente fuertes.