Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
Alex9
Компьютерщик
51 / 138 / 7
Регистрация: 25.04.2012
Сообщений: 2,204
#1

Логин и пароль пользователя в десктоп приложении - C#

04.04.2013, 21:45. Просмотров 3890. Ответов 37
Метки нет (Все метки)

Для начала работы с программой требуется подключение к бд для загрузки профиля.
Как правильно хранить логин и пароль пользователей вне бд и проверять их при входе, чтобы все это было устойчиво ко взлому ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 21:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Логин и пароль пользователя в десктоп приложении (C#):

Система регистрации логин-пароль - C#
Добрый вечер! Помогите кто умеет с созданием системы регистрации и входа через логин-пароль. Нашел тему:...

Логин/Пароль администратора внутри программы - C#
Добрый день. Такая проблема: Мне нужно использовать SocketType.Raw, который в свою очередь требует повышения привилегий (если запущен от...

Создать приложение, запрашивающее логин и пароль - C#
Мне нужно сделать программу, существует ли аккаунт(логин) или введен ли правильно пароль Логин и пароль хранятся в файлах.txt Помогите...

Разбить сообщение на логин/пароль, записать их в реестр - C#
есть программка клиент сервер,клиент отправляет на сервер логин и пароль void Connect() { try { ...

Как в xNet подключить прокси с авторизацией логин, пароль? - C#
вопрос собственно в названии.

Зашифровать только логин и пароль к БД в ConnectionString в app.config - C#
Здравствуйте. Находил массу решений по шифрованию всей строки подключения, или даже всего файла конфигурации; а как зашифровать только...

37
kmaffa
302 / 300 / 54
Регистрация: 29.10.2012
Сообщений: 819
05.04.2013, 09:16 #2
Первое что приходит в голову - использовать необратимое шифрование для хранения пароля. И хранить пароль в обычном текстовом файле, его тоже можно зашифровать, но уже используя обратимое шифрование.
1
ksk
612 / 480 / 34
Регистрация: 05.07.2010
Сообщений: 1,589
05.04.2013, 10:05 #3
А недостаточно того, что юзер пароль в винду ввёл?
0
Wolfdp
683 / 676 / 106
Регистрация: 15.06.2012
Сообщений: 2,632
Записей в блоге: 1
Завершенные тесты: 1
05.04.2013, 20:13 #4
Если на уровне "другой пользователь системы не может зайти", то можно просто сохранят в папку настроек юзера. На семерке, доступ к ней имеет только владелец и главный админ. Второй вариант - шифровать данными о пользователе, например по его id в системе. Знаю что они как-то уникально индифицируются, правда не в курсе как это реализовать и подходит ли под задачу.
1
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
05.04.2013, 20:16 #5
md5 пароля в текстовый файл рядом с приложением.
http://msdn.microsoft.com/ru-ru/libr...raphy.md5.aspx
0
tezaurismosis
Администратор
Эксперт .NET
8243 / 3734 / 505
Регистрация: 17.04.2012
Сообщений: 8,422
Записей в блоге: 14
05.04.2013, 20:48 #6
Цитата Сообщение от A1exSun Посмотреть сообщение
md5 пароля в текстовый файл рядом с приложением.
У MD5 недостаточная надёжность, видел кучу методов дешифровки, причём иногда довольно быстрых.
Можно предложить более замороченный способ: берём пароль, делаем сдвиг, например на 4 (x << 4), применяем ещё какую-нибудь битовую операцию, потом переводим в Base64, а потом шифруем в MD5. Если нуждающийся найдёт эту процедуру в коде, то и такая окрошка вас не спасёт. Но на нуждающихся есть обфускатор.
1
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
05.04.2013, 21:08 #7
Цитата Сообщение от tezaurismosis Посмотреть сообщение
У MD5 недостаточная надёжность, видел кучу методов дешифровки, причём иногда довольно быстрых.
Дешифровки чего? md5 это хэш.
Скажи, что здесь было: 6c594fca60c658a835340e29a267bba5
Удачи.
0
Anklav
438 / 297 / 23
Регистрация: 23.01.2013
Сообщений: 633
Завершенные тесты: 2
05.04.2013, 22:05 #8
Можно зашифровать логин, паролем. Сохранить в файл. При входе, расшифровывать эти данные(вводимым при входе паролем), и сравнивать(расшифрованные данные) с логином.
0
tezaurismosis
Администратор
Эксперт .NET
8243 / 3734 / 505
Регистрация: 17.04.2012
Сообщений: 8,422
Записей в блоге: 14
05.04.2013, 22:30 #9
Цитата Сообщение от A1exSun Посмотреть сообщение
Дешифровки чего? md5 это хэш.
Невероятно, а я то не знал. Хорошо, что умные люди не перевелись (только не гордись, это сарказм)
Читай Википедию, абзац "Криптоанализ". Расшифровка возможна. Наверно поэтому его не рекомендуют использовать.
Цитата Сообщение от A1exSun Посмотреть сообщение
Скажи, что здесь было: 6c594fca60c658a835340e29a267bba5
Мы здесь не в викторину играем. Удачу можешь себе оставить
0
Wolfdp
683 / 676 / 106
Регистрация: 15.06.2012
Сообщений: 2,632
Записей в блоге: 1
Завершенные тесты: 1
05.04.2013, 22:39 #10
Цитата Сообщение от A1exSun Посмотреть сообщение
md5 пароля в текстовый файл рядом с приложением.
Окей, мы имеем десктоп приложение, которое связывает с сервером, который требует авторизации. И нам лень каждый раз вводить логин/пароль.

1. Записать в текстовый файл рядом, доступ к файлу дать только текущему пользователю.
плюсы - защитим доступ на текущей системы (правда админ всё-равно сможет посмотреть)
минус - можно зайти с другой системы и нагло посмотреть.

2. Файл зашифровать. Смысла ноль, ибо нам придется его рассшифровывать, а значит опять вводить логин пароль (или просто пароль).

P.S. Насчет хэша: как по вашему это должно выглядить? Клиент-приложение отправляет на сервер хэш, вместо логина-пароля? А что тогда мне мешает, посмотреть хэш, отправить его, сказав что это сохранение? Хэш применяют для другого: когда у вас уведут часть базы, а именно таблицу с логинами и паролем, то вы ничерта не сможете из неё извлечь. Также с его помощью генерируют сложный ключ на основе простого (то есть пароль "123" становится эквивалетный 32-х символьному.)
0
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 216
05.04.2013, 22:54 #11
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Невероятно, а я то не знал. Хорошо, что умные люди не перевелись (только не гордись, это сарказм)
Читай Википедию, абзац "Криптоанализ". Расшифровка возможна. Наверно поэтому его не рекомендуют использовать.

Мы здесь не в викторину играем. Удачу можешь себе оставить
Хэши не расшифровываются.
Сам то читал тот абзац?
Где его рекомендуют не использовать?
Цитата Сообщение от Wolfdp Посмотреть сообщение
P.S. Насчет хэша: как по вашему это должно выглядить? Клиент-приложение отправляет на сервер хэш, вместо логина-пароля?
Где автором упоминается что пароль нужно передавать серверу?
0
Wolfdp
683 / 676 / 106
Регистрация: 15.06.2012
Сообщений: 2,632
Записей в блоге: 1
Завершенные тесты: 1
06.04.2013, 00:02 #12
Цитата Сообщение от A1exSun Посмотреть сообщение
Где автором упоминается что пароль нужно передавать серверу?
Если вопрос стоит о реализации проверки на стороне "сервиса" - то да: список логинов/паролей в виде хэш отпечатка, при получении пароля в открытом виде, переводим в хэш и сравниваем.
0
tezaurismosis
Администратор
Эксперт .NET
8243 / 3734 / 505
Регистрация: 17.04.2012
Сообщений: 8,422
Записей в блоге: 14
06.04.2013, 07:28 #13
Цитата Сообщение от A1exSun Посмотреть сообщение
Хэши не расшифровываются.
Я что, статью кому-то другому отправил?
На данный момент существуют несколько видов «взлома» хешей MD5 — подбора сообщения с заданным хешем:
* Перебор по словарю
* Brute-force
* RainbowCrack
Как это ещё можно понимать?
Цитата Сообщение от A1exSun Посмотреть сообщение
Сам то читал тот абзац?
Сказал человек, который сам его не читал.
MD5 (англ. Message Digest 5) — устаревший и нерекомендованный к использованию 128-битный алгоритм хеширования
Не важно, что он из себя представляет: хэш или шифр - функцию свою он выполняет (по крайней мере выполнял) - это защита данных.
Цитата Сообщение от A1exSun Посмотреть сообщение
Где его рекомендуют не использовать?
http://www.kb.cert.org/vuls/id/836068
Только больше не говори, что я не читал статью, сначала сам её прочти, прежде чем задавать вопросы, которые явно описаны в статье.
1
Alex9
Компьютерщик
51 / 138 / 7
Регистрация: 25.04.2012
Сообщений: 2,204
06.04.2013, 10:37  [ТС] #14
А есть что-то более надёжное, чем такой вариант хранения на компе пользователя в файле:
логин и пароль хранятся в обычном xml файле в SHA1 + некоторая константная строка абракадабры. При вводе логин и пароля они переводятся в SHA1 и сравниваются с тем что в xml без константы ?
0
tezaurismosis
Администратор
Эксперт .NET
8243 / 3734 / 505
Регистрация: 17.04.2012
Сообщений: 8,422
Записей в блоге: 14
06.04.2013, 10:53 #15
Цитата Сообщение от Alex9 Посмотреть сообщение
А есть что-то более надёжное
Видимо есть, но сейчас умельцы взламывают всё что угодно. Трудно сказать, насколько устойчив этот способ, но если вы будете хранить зашифрованный пароль в каком-нибудь неприметном месте (например, в самом приложении) и в разбросанном по файлу виде, то это сильно усложнит задачу взломщику.
1
06.04.2013, 10:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 10:53
Привет! Вот еще темы с ответами:

Авторизация пользователя. Как хранить логин и пароль - C#
Всем добрый день! Наконец-то добралась до авторизации пользователя. Отсюда вопрос: Где и как хранить логины и пароли? хочется в файле...

Доступ к сетевой папке, указав логин и пароль удаленного пользователя - C#
Приветствую. Столкнулся с таким вопросом - в сети есть папка, доступ к ней есть не у всех. Естественно, когда я обращаюсь к ней из...

Логин;пароль из txt - C#
Есть txt в котором лежит список вида: логин0;пароль0 логин1;пароль1 и т.д. Небходимо использовать их (поочерёдно) в работе...

Программная авторизация на сайте, зная свои логин и пароль - C#
Здравствуйте. Как программно авторизоваться на сайте, например www.cyberforum.ru, зная свои логин и пароль. То есть, я в WebBrowser перешёл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru