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