Если для того что-бы клиент смог создать правильный ключь ему необходима соль из базы данных, то по какому условию эта соль ему выдаётся? Я вижу два варианта:
Первый: соль выдаётся по имени аккаунта. В таком случае происходит довольно абсурдная ситуация, в которой любой знающий аккаунты может вытянуть все соли, и смысл изначально её использовать становится сомнительным.
Второй: она выдаётся по некому хэшу на основе только пароля. В таком случае непонятно, зачем вообще хранить хэш от соли рядом с хэшем без соли.