как проверить имя пользователя и пароль из формы текстового файла - PullRequest
2 голосов
/ 15 апреля 2010

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

Ответы [ 2 ]

1 голос
/ 15 апреля 2010

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

В .NET стандартный подход заключается в использовании файла конфигурации приложения для хранения имени пользователя / пароля (например, app.config или web.config) и шифрования пароля с помощью API защиты данных (DPAPI) или System.Security. Криптография. Класс защищенных данных.

Джон Галлоуэй предоставляет достойное руководство о том, как это сделать.

1 голос
/ 15 апреля 2010

Отказ от плохой практики хранения паролей в текстовом файле (особенно, если он не зашифрован), вам нужно придумать какой-то формат файла.

Очень простой файл может быть похож на INI-файл, который вы читаете:

[users]
username1=password1
username2=password2

Ваш алгоритм будет искать заголовок [users], затем читать каждую строку, разбивать строку на знаке равенства, сравнивать информацию и продолжать чтение, пока не найдет совпадение, конец файла или, возможно, другой раздел.

Я не уверен, что вы когда-нибудь работали с аутентификацией пользователя, но считается плохой практикой хранить пароли в виде простого текста из-за серьезной проблемы безопасности, если они скомпрометированы. Как правило, вы хотите использовать односторонний хеш (например, SHA-1 или SHA-256) для хеширования пароля пользователя (возможно, с известной солью) и отправки его в ваше приложение и его хранения. Таким образом, вы никогда не узнаете действительный пароль, даже если вы каким-либо образом взломаны.

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