El punto de poner sal en los hashes de tu contraseña es evitar que el atacante use una tabla de arco iris lista para usar. La sal debe ser única por usuario, pero no necesita ser secreta.
¿Por qué no usar el nombre de usuario / ID de usuario como un salt en lugar de mirar un valor separado en la base de datos? ¿Hay alguna razón por la que necesitaría cambiar la sal de un usuario en el futuro?
[Ya habría esperado encontrar una pregunta como esta, pero no lo hice. Tampoco miré muy duro]