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

Шифровальщик паролей - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.97
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 00:01     Шифровальщик паролей #1
Здравствуйте, уважаемые гуру и более другие программисты.
Я, как видно из моего ника, полный нуб. Это обидно.
А ведь очень хочется разобраться, как эта куча железяк работает изнутри.

Я пару дней тщетно штудировл поиск, но толку было мало.
У меня есть Visual 2008, я научился компилить программу плана cout<<"HELLO WORLD"; да и вообще много чего в консоли.
Но вот дальше полный затык. Пытаюсь компилить примеры - куча ошибок. Я так понимаю, что чего то мне нехватает. Ума наверняка.

Я в программировании не первый день, и вполне способен разобраться в синтаксисе и алгоритмах. Прекрасно знаю, что такое ООП и как с ним бороться. Но не в C++
А вот в спицифике - хоть убей. Ничего не понимаю.
Помогите, люди добры, мы не местные и документы украли.

Вот с чего начать и куда двигаться?
Очень хочется примеров. Допустим идея такая. Нужно сделать хранитель паролей.
Задача простая - юзер вводит логин и пароль. Прога его шифрует (алгоритм - не вопрос) и выдает в буфер обмена только тогда, когда набран основной пароль. (Ну кагбэ бестолковая защита от троянов)

Вот с чего мне начать? (Ужасно наглая рожа)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2010, 00:01     Шифровальщик паролей
Посмотрите здесь:

C++ Генерация паролей
генератор паролей C++
Шифровальщик данных C++
C++ Генератор паролей
Генератор паролей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.08.2010, 04:19     Шифровальщик паролей #21
Crudelis, Ну... VS это таки IDE а не компилятор... Но не суть.

nubo, Вы создаете пустой проект? Если нет - то создаете когда проект, будет опция пустой проект. Ставьте галочку там. Должно будет заработать. + Файл в папку программки рядом с cpp файлом пихните, назовите Test.txt, и введите туда три простых числа через пробел. Например
2 4 6
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
02.08.2010, 13:35     Шифровальщик паролей #22
Цитата Сообщение от Lavroff Посмотреть сообщение
Ну... VS это таки IDE а не компилятор... Но не суть.
ок, я согласен, скорее всего я не прав, не буду настаивать, я привык что программа в к-й работаешь и называется компилятор, так как компилируешь то в ней
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 13:55  [ТС]     Шифровальщик паролей #23
Всем привет. Я не отстану, пока не разберусь.
Самое простое - все начать с самого начала, с нуля. Вот академический пример из книги:
C++
1
2
3
4
5
6
#include <iostream.h>
 
void main()
{
        cout<<"Hello, World";
}
На него ругается. Хотя и работает.
Что тут не так?
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
02.08.2010, 14:09     Шифровальщик паролей #24
nubo,
C++
1
2
3
4
5
6
#include <iostream>
int main()
{
    std::cout <<"Hello, World";
    return 0;
}
Цитата Сообщение от nubo Посмотреть сообщение
C++
1
#include <iostream.h>
В соответствии с новыми стандартами, которые используются в 2008 студии библиотека iostream больше не имеет расширения .h.

Цитата Сообщение от nubo Посмотреть сообщение
C++
1
void main()
Объявлять функцию main() как не возвращающую значения считается дурным тоном, некоторые компиляторы даже считают это за ошибку.

Цитата Сообщение от nubo Посмотреть сообщение
C++
1
cout<<"Hello, World";
В библиотеке iostream объект cout находится в пространстве имён std, так что перед каждым его вызовом надо писать std::, или в начале программы написать
C++
1
using std::cout;
.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
02.08.2010, 14:09     Шифровальщик паролей #25
Цитата Сообщение от nubo Посмотреть сообщение
На него ругается.
А поподробнее?
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 14:34  [ТС]     Шифровальщик паролей #26
Здорово. Спасибо. С этим теперь понятно, вот так работает:
C++
1
2
3
4
5
6
7
#include <stdafx.h>
#include <iostream>
using std::cout;
int main()
{
        cout<<"Hello, World";
}
А теперь дальше:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdafx.h>
#include <iostream>
#include <fstream> //Для файлового ввода-вывода
using std::cout;
int main()
{
       int a = 0, b = 0, c = 0;// Завели три переменные целого типа и присвоили им нулевые значения
        ifs.open("text.txt");// Открыли файл. text.txt лежит в папке программы
        if(!ifs)//Проверили открылся ли файл
        {
                cout<<"File is not open\n";//Если нет, выводим сообщение
                exit(1);//Вышли из программы
        }
        ifs>> a >> b >> c;// Считали данные из файла
        return 0;// Вернули ноль, так как программа завершилась успешно
}
На это ругается
error C2065: ifs: необъявленный идентификатор
Я так понимаю, ifs - это экземпляр какого то класса, которого у меня нету?
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
02.08.2010, 14:43     Шифровальщик паролей #27
Абсолютно верно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream> //Для файлового ввода-вывода
using std::cout;
using std::ifstream;
int main()
{
    ifstream ifs;
    int a = 0, b = 0, c = 0;// Завели три переменные целого типа и присвоили им нулевые значения
    ifs.open("text.txt");// Открыли файл. text.txt лежит в папке программы
    if(!ifs)//Проверили открылся ли файл
    {
        cout<<"File is not open\n";//Если нет, выводим сообщение
        exit(1);//Вышли из программы
    }
    ifs >> a >> b >> c;// Считали данные из файла
    return 0;// Вернули ноль, так как программа завершилась успешно
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
02.08.2010, 15:19     Шифровальщик паролей #28
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от nubo Посмотреть сообщение
ifs - это экземпляр какого то класса, которого у меня нету?
Ты думаешь правильно, это экземпляр класса std::ifsream - файлового потока ввода.
В общем, Vladimir616 все правильно расписал.

Цитата Сообщение от Vladimir616 Посмотреть сообщение
C++
1
exit(1);//Вышли из программы
Не следует завершать работу программу функцией exit
Вместо этого лучше написать:
C++
1
return EXIT_FAILURE; //или return 1;
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.08.2010, 15:46     Шифровальщик паролей #29
Цитата Сообщение от Nameless One Посмотреть сообщение
Не следует завершать работу программу функцией exit
Какой-то сомнительный там примерчик...
C++
1
2
3
...
    exit(1);
    return 0;
Но в прочем тоже думаю, что в С++ без крайней на то необходимости и полного понимания происходящего лучше функции библиотек С не использовать. Всё-таки это разные языки программирования.
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 20:17  [ТС]     Шифровальщик паролей #30
Не следует завершать работу программу функцией exit
Я избалован ЗРЗ, а там при завершении программы нужно как рах выролнить exit()
Почему это плохо в С++?
А Ваш пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream> //Для файлового ввода-вывода
using std::cout;
using std::ifstream;
int main()
{
        ifstream ifs;
        int a = 0, b = 0, c = 0;// Завели три переменные целого типа и присвоили им нулевые значения
        ifs.open("text.txt");// Открыли файл. text.txt лежит в папке программы
        if(!ifs)//Проверили открылся ли файл
        {
                cout<<"File is not open\n";//Если нет, выводим сообщение
                exit(1);//Вышли из программы
        }
        ifs >> a >> b >> c;// Считали данные из файла
        return 0;// Вернули ноль, так как программа завершилась успешно
}
отвечает этим...
warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
ничего не понимаю...
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.08.2010, 20:28     Шифровальщик паролей #31
Как создать консольное приложение в MS Visual Studio

1. File -> New -> Project
2. Находим в предлагаемых вариантах проекта "Win32 Console Application". Вводим имя проекта. Нажимаем "ОК"
3. В "Application Settings" устанавливаем флажочек "Empty Project"

Если студия на русском, то труда сориентироваться думаю не составит.

После того, как проект создан, таким образом, предлагаемый Вам код должен компилироваться.
Миниатюры
Шифровальщик паролей   Шифровальщик паролей   Шифровальщик паролей  

nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 21:22  [ТС]     Шифровальщик паролей #32
Спрасибо. Только толку нет. Если я создаю пустой проект (empty... я понимаю что это), то дальше пиндык. Есть три директории, в которых я должен разместить все последующее безобразие.
Или так и нужно? Не стоит полагаться на автоматическое создaние?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.08.2010, 21:31     Шифровальщик паролей #33
Цитата Сообщение от nubo Посмотреть сообщение
Если я создаю пустой проект (empty... я понимаю что это), то дальше пиндык. Есть три директории, в которых я должен разместить все последующее безобразие.
все последующее безобразие вы можете располагать как угодно. тем более эти три директории виртуальны. на самом деле они не создаются на винчестере.
создать пустой проект означает не использовать предкомпиляционный заголовочный файл. тот самый, что в тексте ошибки у вас называется stdafx.h. ошибка как раз от того, что система не может обнаружить этот файл. кроме неиспользования pch при создании пустого проекта не создается автоматически шаблонный файл с главной функцией.
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 21:48  [ТС]     Шифровальщик паролей #34
А что мне делать после того, как я создал пустой проект...
Что делать дальше? Создавать файлы руками?
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
02.08.2010, 21:51     Шифровальщик паролей #35
nubo, да, но в пустом проекте достаточно создания одного файла.
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 22:04  [ТС]     Шифровальщик паролей #36
Боюсь спросить - какого?
Вот есть у меня куча всего:
http://test.inkz.ru/2.jpg
А если не пустой, то вот:
http://test.inkz.ru/1.jpg
Как мне с этим бороться...
Вы поймите, я вообще ничего не понимаю, меня нужно носом натыкать. От начала и до результата...
Начать очень трудно.
Как победить это все, расскажите по буковке пожалуйста
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
02.08.2010, 22:05     Шифровальщик паролей #37
Цитата Сообщение от nubo Посмотреть сообщение
Как мне с этим бороться...
Вы поймите, я вообще ничего не понимаю, меня нужно носом натыкать. От начала и до результата...
Начать очень трудно.
Как победить это все, расскажите по буковке пожалуйста
Что вам мешает обратится к соответсвующей литературе? Это будет гораздо быстрее и проще.
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 22:11  [ТС]     Шифровальщик паролей #38
Абсолютно ничего не мешает.
Но соответствующпя литература на 99% состоит из того, что я и так знаю.
Вся беда в том, что я начал изучать языки не с той стороны.
Вот в интерпретируемых (том же PHP) я как рыба в воде.
Но когда коснулось практики C++, я потерялся. Написать алгоритм я могу, а как заставить это работать - не понимаю, хоть убей. Причем мне нужно мало - понять принцип...
А в книгах этого нет(((
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.08.2010, 22:18     Шифровальщик паролей #39
Цитата Сообщение от nubo Посмотреть сообщение
Но соответствующпя литература на 99% состоит из того, что я и так знаю.
Цитата Сообщение от nubo Посмотреть сообщение
Но когда коснулось практики C++, я потерялся.
м?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2010, 22:42     Шифровальщик паролей
Еще ссылки по теме:

C++ Генератор паролей
Составить алгоритм шифровальщик, который заменяет каждый символ текста его ASCII-кодом C++
Создать генератор паролей в котором можно указать длину пароля и количество паролей C++

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

Или воспользуйтесь поиском по форуму:
nubo
 Аватар для nubo
112 / 69 / 8
Регистрация: 31.07.2010
Сообщений: 334
02.08.2010, 22:42  [ТС]     Шифровальщик паролей #40
м?
угу. Я не совсем идиот, и никогда бы не обратился за помощью, если бы мог сам.
У меня куча книг, начиная от "C++ за 21 день" заканчивая Стартупом.
Но там теория дается в отрыве от практики. У меня не работает ни один из приведеннывх листингов.
По этому я тут. И прошу меня простить, если надоел((
Yandex
Объявления
02.08.2010, 22:42     Шифровальщик паролей
Ответ Создать тему
Опции темы

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