Форум программистов, компьютерный форум CyberForum.ru

C++ Проверка логин\пароль - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 57, средняя оценка - 4.79
popoff17
10 / 10 / 2
Регистрация: 13.07.2010
Сообщений: 206
27.07.2011, 06:43     C++ Проверка логин\пароль #1
Доброго времени суток!
В консольном приложении планирую сделать запрос логина\пароля при входе.

.txt файл имеет такую структуру:
=============
pass;log;admin;
password;login;user;
pass2;log2;user;
=============
код программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void main (){
 
int i=0,j=0;
char str[100], ch[100], log[255];
str[0]='0';
std::cin>>log;
std::ifstream access;
access.open("access.txt", std::ios::in | std::ios::binary);
if (!access.is_open()) std::cout<<"not open file!";
access.seekg(0, std::ios::cur);
while (!access.get(ch[i]).eof()){  /////////перебор строки
    if (ch[i] == ';'){break;}
    std::cout<<ch[i];
    i++;
}
 
/////////перебор введенной строки
int len = std::strlen(log);
for (i=0; i<len;i++){
std::cout<<log[i]<<std::endl;
}
 
///////////сравнение введенных данных с данными из файла
for (j=0;j<i;j++)
{
    if (log[j] == ch[j])
    {continue;}
    else
    {std::cout<<"password is not korrect\n";
        break;}
}
std::cout<<"Wellcome to my programm\n";
access.close();
system ("pause");
}
код работает, хотел только спросить, как по вашему, все правильо сделано, или можно было как-то по другому? попроще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2011, 06:43     C++ Проверка логин\пароль
Посмотрите здесь:

Работа с "Логин и пароль" на с++ C++
Пароль C++
C++ Пароль в c++
подкорректировать код(логин и пароль) C++
Логин и пароль прочитать из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 06:56     C++ Проверка логин\пароль #2
Цитата Сообщение от popoff17 Посмотреть сообщение
все правильо сделано
Это с какой стороны посмотреть... Что толку хранить пароли в открытом виде в текстовом файле, если любой может их посмотреть?
Wanee
52 / 52 / 13
Регистрация: 02.02.2011
Сообщений: 428
27.07.2011, 07:00     C++ Проверка логин\пароль #3
Можно их зашифровать и тогда спокойно хранить
LosAngeles
Заблокирован
27.07.2011, 07:17     C++ Проверка логин\пароль #4
в такой логической защите толку особо нет
popoff17
10 / 10 / 2
Регистрация: 13.07.2010
Сообщений: 206
27.07.2011, 07:37  [ТС]     C++ Проверка логин\пароль #5
Цитата Сообщение от mimicria Посмотреть сообщение
Это с какой стороны посмотреть... Что толку хранить пароли в открытом виде в текстовом файле, если любой может их посмотреть?
например, записать логин\пасс в мд5? затем введенные данные тоже перевести в мд5?

а сам принцып проверки достаточно "адекватный"? я просто поиск на подобные темы еще не юзал, по книжке посмотрел нужные функции только.
Wanee
52 / 52 / 13
Регистрация: 02.02.2011
Сообщений: 428
27.07.2011, 07:43     C++ Проверка логин\пароль #6
LosAngeles, почему?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 07:49     C++ Проверка логин\пароль #7
Цитата Сообщение от popoff17 Посмотреть сообщение
например, записать логин\пасс в мд5? затем введенные данные тоже перевести в мд5?
Ну это будет немного сложнее, но тоже фигня. Что помешает мне изменить текстовый файл и записать туда известные мне хэши?
LosAngeles
Заблокирован
27.07.2011, 07:50     C++ Проверка логин\пароль #8
Цитата Сообщение от Wanee Посмотреть сообщение
LosAngeles, почему?
ломается за 30 секунд
popoff17
10 / 10 / 2
Регистрация: 13.07.2010
Сообщений: 206
27.07.2011, 07:55  [ТС]     C++ Проверка логин\пароль #9
Цитата Сообщение от mimicria Посмотреть сообщение
Ну это будет немного сложнее, но тоже фигня. Что помешает мне изменить текстовый файл и записать туда известные мне хэши?
а что можете посоветовать?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 07:58     C++ Проверка логин\пароль #10
Цитата Сообщение от popoff17 Посмотреть сообщение
а что можете посоветовать?
Могу посоветовать не заморачиваться если разработка защиты по сложности превосходит саму программу. Делайте freeware
popoff17
10 / 10 / 2
Регистрация: 13.07.2010
Сообщений: 206
27.07.2011, 08:31  [ТС]     C++ Проверка логин\пароль #11
Цитата Сообщение от mimicria Посмотреть сообщение
Могу посоветовать не заморачиваться если разработка защиты по сложности превосходит саму программу. Делайте freeware
Я делаю "сделал - кое-чему научился - получил оценку от препода". задание просто основано на работе с текстовыми файлами, база данных должна быть организована на них.

я вопрос несколько иначе ставил - достаточно ли правильно я проверяю данные или можно обойтись каким-то другим методом?
и, раз уж зашел разговор, где почитать про хэширование? посмотрел - у меня в учебниках нет такого...
то что гуглить-то понятно, просто предпочитаю следовть наставлениям)
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
27.07.2011, 09:00     C++ Проверка логин\пароль #12
В программе все настолько просто, что и подбор паролей не нужен... Любой крякер через отладчик отключит эту опцию... Нет, батенька для защиты нужны более серьезные методы... А в качестве "защиты от дураков" (ну например от жены моей) пойдет)
-=ЮрА=-
Заблокирован
Автор FAQ
27.07.2011, 09:16     C++ Проверка логин\пароль #13
Логин и пароль можно хранить в самом теле программы причём при каждом запуске изменять алгоритм шифрования, можно вообще хэш-зависящий от дня ввести.
вот посмотри тему как записать что то в сам экзешник
Контроль числа запусков программы
такое тебе никто не сломает, конешно если не будет знать исходников твоей программы...
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
27.07.2011, 09:20     C++ Проверка логин\пароль #14
А зачем иметь исходники? Открывай через отладчик Olly (или любой другой) и пожалуйста смотри на свой код, правда на ассемблере. Алгоритм открывается на раз-два.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 09:28     C++ Проверка логин\пароль #15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
такое тебе никто не сломает
Выложите готовый проект, я вам докажу обратное
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.07.2011, 09:30     C++ Проверка логин\пароль #16
Цитата Сообщение от mimicria Посмотреть сообщение
Что помешает мне изменить текстовый файл и записать туда известные мне хэши?
а если ограничить права на файл?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 09:35     C++ Проверка логин\пароль #17
Цитата Сообщение от Nameless One Посмотреть сообщение
а если ограничить права на файл?
Предполагается, что программа будет распространяться, не так ли? Кто будет назначать права на моём компьютере, если я скачал и установил программу (к примеру)?
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.07.2011, 09:45     C++ Проверка логин\пароль #18
Цитата Сообщение от mimicria Посмотреть сообщение
Предполагается, что программа будет распространяться, не так ли? Кто будет назначать права на моём компьютере, если я скачал и установил программу (к примеру)?
ну, судя по ответам ТС'а, это просто университетская поделка, а вообще, к примеру, можно при установке программы назначать необходимые права, создавать пользователей и т.д.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
27.07.2011, 09:48     C++ Проверка логин\пароль #19
Цитата Сообщение от Nameless One Посмотреть сообщение
это просто университетская поделка
Для поделки сойдёт и так, разницы никакой =)
C++
1
cout << "Enter password: "; cin >> pass; if (pass==...)
Цитата Сообщение от Nameless One Посмотреть сообщение
можно при установке программы назначать необходимые права
А потом дядя администратор все эти права может поправить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2011, 09:51     C++ Проверка логин\пароль
Еще ссылки по теме:

C++ Исправить регулярку, чтобы в rgxm записывалось последовательно логин, пароль, адрес сервера, порт и имя потока
C++ Логин и пароль из файла
C++ Меню логин пароль

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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.07.2011, 09:51     C++ Проверка логин\пароль #20
Цитата Сообщение от mimicria Посмотреть сообщение
А потом дядя администратор все эти права может поправить.
ну так проблема ТС'а же вроде не в защите от пиратства, а в разграничении прав доступа к его самописной "БД"
Yandex
Объявления
27.07.2011, 09:51     C++ Проверка логин\пароль
Ответ Создать тему
Опции темы

Текущее время: 09:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru