Чтобы сделать пароли более безопасными, в пароль добавляется случайная соль, прежде чем произойдет взлом.
Я предполагаю, что соль хранится на сервере в ассоциативном массиве [username: salt], и сервер добавляет соль к паролю, прежде чем нарушать каждый раз, когда пользователь входит в систему, иначе сервер не будет знать, какую случайную соль добавить к паролю
1) Верно ли мое предположение ???
2) Обычно соль хранится на сервере в виде обычного текста или шифра и почему ??
3) В каком файле оно хранится ?? (я знаю, что это может быть субъективно, поскольку это зависит от разных серверов)
Я хотел бы получить подробное объяснение, если возможно
Спасибо
Он объединен с зашифрованной строкой пароля (возможно, с символами-разделителями, возможно, просто с фиксированным количеством символов; зависит от того, о каком конкретном файле паролей вы говорите). Так, например, мой /etc/shadow
содержит $6$prRzIBxG$K4w0950HW9eMmVgzqpmdgfpxqmFtXZx.mS7wGorSoeXvt51tejXxx22CoTsrmj9AsszgT.CvkB5BrPuMq1r.Z/
как зашифрованный пароль. 6 долларов - это управляющая последовательность, а соль - pr
.
(Обратите внимание, что это происходит в файловых системах паролей, таких как UNIX; вы также отметили IIS, но Windows хранит пароли, соли и т. Д. В довольно непрозрачной структуре данных, называемой SAM.)