Как работает соль в has_secure_password Rails

Насколько я понимаю из соления, чтобы сделать зашифрованный пароль более безопасным, я бы сгенерировал случайное число (соль) и сохранил его вместе с хешированным паролем в записи пользователя (например). Я бы объединил соль с открытым текстом пароль, а затем зашифровать его (хеш). Полученный хэш будет намного сложнее взломать. Этот процесс будет повторяться для проверки пароля.

Глядя на has_secure_password и bcrypt_ruby (раскрытие: я не эксперт по безопасности ) Я не понимаю, как это делается, поскольку единственное, что хранится в записи пользователя, - это хешированный пароль. Где соль?


person pitosalas    schedule 13.06.2012    source источник
comment
См. этот вопрос. По сути, соль хранится в той же строке, что и зашифрованный пароль (который может быть чрезмерным упрощением, и люди, обладающие навыками безопасности, могут возразить, но дело в том, что bcrypt по своей сути небезопасен)   -  person Flambino    schedule 13.06.2012
comment
Ссылка, которую вы предоставили, идеальна, спасибо!   -  person pitosalas    schedule 13.06.2012
comment
возможный дубликат Использует ли has_secure_password какую-либо форму соления?   -  person Ryan Crispin Heneise    schedule 08.07.2015


Ответы (1)


Хеш и соль пароля сохраняются в строковом столбце с именем password_digest в базе данных. См. Этот вопрос.

person Eric Andres    schedule 24.01.2013