Служба аутентификации - PullRequest
0 голосов
/ 08 марта 2011

Мне нужно создать систему авторизации для моего приложения на C #, которая работает следующим образом: пользователь вводит данные для входа в систему, пароль преобразуется в MD5, отправляется на сервер, где специальный сервис ищет логин, получает свой пароль и преобразует в MD5. Затем эти MD сравниваются и ответ отправляется обратно. У кого-нибудь есть пример службы, описанной выше, или идеи?

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Предложения:

  1. Используйте SSL / TLS и сертификат сервера и убедитесь, что в клиенте используется правильный сертификат.

  2. Используйте дайджест-аутентификацию поверх этого. Проблема заключается в том, что вам нужно будет хранить хэш HA1 в вашей базе данных или пароли в открытом виде (или иметь возможность расшифровывать сохраненные пароли), чтобы иметь возможность генерировать хэш HA1. Хэш HA1 равен Md5(userName + ":" + realm + ":" + password), где область - это домен.

  3. Вы можете использовать мой веб-сервер (LGPL) в своей службе Windows для создания аутентификации. http://webserver.codeplex.com. Он поддерживает HTTPS и дайджест-проверку подлинности.

0 голосов
/ 08 марта 2011

1) Не забудьте добавить немного соли перед созданием хеша (md5).

2) Возможно, попробуйте переключиться на что-то, кроме md5, например, sha1.

3) Зависит от размерауслуги вы можете попытаться немного усложнить систему за счет производительности.Например, сначала установите соединение и получите какой-нибудь токен (случайное число / фразу / и т. Д.) С сервера.Затем вычислите md5 чего-то вроде md5 (md5 (соль + проход) + токен) и отправьте его на сервер.Причиной двойного применения md5 является то, что вы не должны хранить пароли пользователей в нехешированной форме.По крайней мере, я бы так не поступил.

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