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

Пароль при входе в программу - C++

Восстановить пароль Регистрация
 
Mak20
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 79
06.09.2014, 08:44     Пароль при входе в программу #1
Пишу небольшую базу данных с информацией не для третьих лиц, программа консольная, и что бы другие люди не смогли увидеть информацию содержащийся в этой базе я написал это :
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
#include <iostream>
 
using namespace std;
 
int main()
{
setlocale (0, ""); // для того что бы отображались русские буквы
int pass; // переменная для пароля
cout << "Введите пароль";
cin >> pass;
 
if (pass == 12345)
    cout << "доступ подтверждён." << endl;
else if (pass != 12345) {
    cout << "Пароль не верный! последняя попытка: " << endl;
cin >> pass;
if (pass == 12345)
    cout << "Доступ подтверждён" << endl;
 
else if (pass != 656) 
for (int cha = 1; cha <= 999999999999999; cha+=1) // начинается цикл для прохода без пароля.
    cout << "Ждите 99999999" << cha << endl; 
}
 system ("pause");
return 0;
}
фишка ещё в том что если ввести 2 раза пароль не верно то программа начинает долгий и муторный цикл и как он закончится то программа пропустит и без пароля но об этом знаю только я. Надёжно? или лучше переделать на что то другое?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
skident
23 / 23 / 2
Регистрация: 11.12.2011
Сообщений: 300
06.09.2014, 10:36     Пароль при входе в программу #2
Однозначно плохой подход!
Вот например кто-то получил доступ к вашему компу и нашел эту самую БД не для третьих лиц. Стало ему интересно и он начал подбирать пароль. Ввел например ваше имя, потом год рождения, а потом все зависло и его пустило в систему.

Второе замечание не по теме, но все же. Что за магические числа у вас в программе. Последовательность "12345" повторяется 3 раза, если вы вдруг надумаете поменять пароль, то его надо будет поменять уже в 3 местах, а это чревато возможными багами в будущем.

Лучше сделайте ввод пароля в цикле. Если вдруг вам понадобиться сделать 5 попыток ввода пароля, то это решиться изменением верхней границы в цикле, а в нынешнем случае у вас будет раздуваться однотипный код, что опять же не есть хорошо.
-NEURON-
Заблокирован
06.09.2014, 10:43     Пароль при входе в программу #3
Послушай, ты думаешь в Orecle дураки сидят? На самом деле я сам много раз думал раньше о своей базу данных.. Но поверь моему опыту, в итоге ты придёшь к тому, что всё что ты сделал - ежу изобретено, в плане баз данные
Например MS SQL Server работает вообще в своей локальной так сказать файловой системе. Если ты откроешь книгу по тому же Oracle, точнее о том, как внутри его база устроенна - ты просто оху..ееш )))) Так что не трать время, смотри лучше в сторону поддержки уже существующих драевйеров ODBC
Mak20
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 79
06.09.2014, 10:44  [ТС]     Пароль при входе в программу #4
skident, Да это действительно не очень вышло то что 3х раза придётся пароль менять в самом коде, нужно будет действительно поставить повторение пароля в цикл. Т.е может получится так что программа заглючит и цикл в ввиде кучи девяток вовсе пропустит и юзер получит доступ к данным? кхм.... и то верно....
-NEURON-
Заблокирован
06.09.2014, 10:46     Пароль при входе в программу #5
Если ты действительно хочешь работать о своими базами данных - тогда это другой вопрос. Начинай спрашивать.
Mak20
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 79
06.09.2014, 10:51  [ТС]     Пароль при входе в программу #6
-NEURON-, Ну делать собрался для себя любимого ) ну + ко всему опыту поднабраться и инфу в прогу запихать, то что велосипед опять делаю эт знать понимать ) но блин просто скучно каждый день кодить обычные матем задачки .__. нудновато, скучновато периодически становится а тут хоть что то новенькое. Как то так\.

Добавлено через 51 секунду
-NEURON-, На базах данных я не зацикливаюсь =)
Убежденный
Системный программист
 Аватар для Убежденный
14184 / 6199 / 984
Регистрация: 02.05.2013
Сообщений: 10,326
Завершенные тесты: 1
06.09.2014, 11:03     Пароль при входе в программу #7
Цитата Сообщение от Mak20 Посмотреть сообщение
фишка ещё в том что если ввести 2 раза пароль не верно то программа начинает долгий и муторный цикл и как он закончится то программа пропустит и без пароля но об этом знаю только я. Надёжно?
Ненадежно. Что мешает злоумышленнику просто открыть базу как файл и
просмотреть ее содержимое ? Лучше уж сразу использовать шифрование.
Mak20
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 79
06.09.2014, 13:57  [ТС]     Пароль при входе в программу #8
Убежденный, т.е использовать шифрование самих данных внутри кода а когда программа работает то она шифрованные данные расшифровывает и делает всё читабельным на человеческом языке ?
-=ЮрА=-
Заблокирован
Автор FAQ
06.09.2014, 14:16     Пароль при входе в программу #9
Mak20, посомтри как устроен пдф, весь файл набит на обжатые стримы, которые зачастую шифрованы, в пдф можно запихнуть практически всё, сделай по аналогии. Касательно поста 1 - ну это супер тривиально и обходится очень легко
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2014, 14:39     Пароль при входе в программу
Еще ссылки по теме:

"Завасание" программы, при входе в цикл C++
Отладчик зависает при входе только в определенные 2 функции C++
как сделать программу, чтобы она запрашивала пароль до входа в систему C++

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

Или воспользуйтесь поиском по форуму:
Mak20
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 79
06.09.2014, 14:39  [ТС]     Пароль при входе в программу #10
-=ЮрА=-,
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Касательно поста 1 - ну это супер тривиально и обходится очень легко
Ну он ведь сказал то что можно сделать касательно этого кода, не углубляясь в более далёкие дебри, так что то что он сказал тоже пошло мне на пользу в копилочку информации. Нужно будет по изучать шифровальщики и как всё это устроено, верно.
Yandex
Объявления
06.09.2014, 14:39     Пароль при входе в программу
Ответ Создать тему
Опции темы

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