Estoy pensando en usar la función password_hash para generar hashes de contraseña. He leído que no se deben generar las propias sales y en su lugar usar la predeterminada que genera la función. Las sales propias están incluso en desuso (de la página del manual).
Advertencia
La opción salt ha quedado en desuso a partir de PHP 7.0.0. Esto es ahora Se prefiere utilizar simplemente la sal que se genera de forma predeterminada.
De todos modos, sigo sintiendo que debo agregar sal de todo el sistema como esta:
$system_salt = 'system_secret_key';
$hash = password_hash($password.$system_salt, PASSWORD_BCRYPT);
Por lo tanto, si alguien obtuviera acceso a la base de datos, pero no a los scripts, incluso después de descifrar la contraseña, solo encontraría una contraseña con sal (o colisión) que no sería utilizable en otros sitios.
- ¿Es este un buen enfoque?
- ¿Esto puede hacer que los hashes sean menos seguros (más fáciles de descifrar) ya que todos tendrán la misma secuencia de caracteres (sal en todo el sistema) al final?