Quindi, un paio di anni fa, quando stavo imparando lo sviluppo del web di back-end di base, ho trovato un tutorial per creare un sistema di accesso di base. Da allora non ho apportato molte modifiche al codice, ma ora ho l'opportunità di utilizzare un sistema più robusto, se necessario.
Quindi, ecco il codice che sto usando attualmente:
$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;
In sostanza, un pepe statico di 24 caratteri, un sale e la password vengono sostituiti da 90.000+ volte. Probabilmente vale anche la pena ricordare che il sale è memorizzato nel database.
La mia più grande domanda è se l'hash che molte volte effettivamente fa qualcosa. Voglio anche sapere se il sale e il pepe sono abbastanza forti.