Кто-нибудь может предложить эффективное решение этой проблемы? - PullRequest
0 голосов
/ 31 октября 2019

Нам предоставлены данные имени пользователя и пароля миллионов людей. Мы можем поместить эти данные в структуру данных по нашему выбору. Таким образом, всякий раз, когда кто-то регистрируется в службе, его / ее учетные данные (имя пользователя и пароль) сохраняются в массиве или в любой структуре данных по выбору разработчика.

Теперь, когда какой-либо пользователь пытается войти в систему, егоимя пользователя и пароль будут проверены для авторизации. Как нам это сделать?

Какую структуру данных и какой алгоритм по вашему мнению следует использовать, чтобы система могла эффективно проверять пароль?

1 Ответ

1 голос
/ 31 октября 2019

Предпочтительно хранить имена пользователей и пароли в базе данных в реальном сценарии.

Хранение пароля в текстовом поле - ужасная идея. Однако, что касается определения местоположения, для большинства случаев, с которыми вы столкнетесь, сохранение представления пароля в базе данных является правильным решением.

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

Понятие соли используется, чтобы избежать атак Rainbow Table Attacks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...