фронтальная аутентификация с веб-сервисами - PullRequest
3 голосов
/ 14 февраля 2012

Мне показалось, что я запутался в том, что мне нужно сделать. В обычном сценарии входа в систему. Я храню хешированное значение пароля в базе данных. [ Пожалуйста, не учитывайте, какую функцию хеширования я использую ]. При времени входа пользователь вводит свой обычный текстовый пароль. Теперь мне нужно было хешировать этот пароль, передать его веб-службе. Затем моей базе данных нужно сравнить два хешированных значения. Теперь я не знаю, что это.

  1. Когда я хэширую пароль во время входа в систему с помощью salt.Is это то же значение, которое я получаю, или что-то еще

  2. Может ли моя база данных (Sql server 2008) иметь возможность сравнивать два хешированных значения, если не то, что мне нужно сделать. Нет необходимости получать пароль из базы данных.

  3. Передача хешированного пароля через веб-сервисы требует дополнительного рассмотрения безопасности?

Мне нужно также обработать восстановление пароля. Могу ли я использовать здесь алгоритмы шифрования / дешифрования .
Пожалуйста, предложите, что мне нужно сделать.

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Для повышения безопасности было бы лучше использовать случайную соль.

Я использую способ защиты пароля при хранении на сервере SQL:

Создайте соль из пароля, затем сгенерируйте хеш с конкатенацией имени пользователя и пароля ..

Соль будет зависеть от пароля и имени пользователя. Если вы восстанавливаете свой пароль, то, если учетные данные верны, вы можете сбросить пароль.

Могу ли я использовать алгоритмы шифрования / дешифрования ??

В соответствии с вашим методом шифрования, создайте свой собственный алгоритм шифрования и дешифрования с помощью соли с помощью библиотек шифрования .net.

0 голосов
/ 14 февраля 2012

Вы должны сохранить соль в базу данных тоже.в Аутентификации, Получить соль, хэшированный введенный пароль с солью, сравните со значением hased в базе данных.Все они могут находиться в коде C #.

Вы не можете получить оригинальный пароль из хешированного значения.Вы можете сгенерировать случайный пароль и заставить клиента сменить пароль при следующем входе в систему.

Так что я думаю, что хэшированное значение безопасно передавать онлайн.Для администратора сайта, даже если он имеет доступ к базе данных, он все еще не знает пароль клиента.

...