Насколько я знаю, нет разницы в силе.
Поскольку обычная практика - добавлять соль к хешу пароля, соль, как правило, известна злоумышленнику. Но это не противоречит цели соли.
Вообще говоря, не рекомендуется добавлять имя пользователя $ login / $ в хеш (решение Vinzz ), так как это вызовет проблемы, если пользователь изменит свое имя пользователя. Лучшее решение - использовать случайную соль .
Используемый алгоритм хеширования не имеет значения . SHA1
считается криптографически взломанным и не должен использоваться для хеширования паролей.
Вообще говоря, BCRYPT
(алгоритм хэширования с адаптивной стоимостью на основе Blowfish) считается наилучшим для практики (флаг CRYPT_BLOWFISH
для PHP crypt (); )
Другие твердые варианты - SHA256 и выше.
Edit:
Я написал более длинный ответ о солении здесь: stackoverflow.com / questions / 1645161 / salt-generation-and-open-source-software /