Sto pensando di utilizzare la funzione password_hash per generare gli hash delle password. Ho letto che i propri Sali non dovrebbero essere generati e invece usare quello predefinito che genera la funzione. I propri sali sono addirittura deprecati (dalla pagina di manuale).
Warning
The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt that is generated by default.
Ad ogni modo, mi sento ancora come se dovessi aggiungere il proprio sistema salt in questo modo:
$system_salt = 'system_secret_key';
$hash = password_hash($password.$system_salt, PASSWORD_BCRYPT);
Quindi, se qualcuno acquisisse un accesso al database, ma non gli script, anche dopo aver infranto la password, troverebbe solo password salata (o collisione) che non sarebbe utilizzabile su altri siti.
- È un buon approccio?
- Questo può rendere gli hash meno sicuri (più facili da spezzare) dato che tutti avranno la stessa sequenza di caratteri (system wide salt) alla fine?