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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kirillivankin
0 / 0 / 0
Регистрация: 27.07.2014
Сообщений: 35
#1

Прокомментировать код - C++

29.07.2014, 10:34. Просмотров 295. Ответов 5
Метки нет (Все метки)

помогите понять этот код
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
int main(){
    const int PASSWORD_LENGTH=10;
    const char * CORRECT_PASSWORD="130f1a8e9e102707f3f91b010f151b0b";
    char *md5buf;
 
    char buf[PASSWORD_LENGTH];
    setlocale( LC_ALL,"Russian" );
 
    cin.exceptions(istream::failbit | istream::badbit);
    
    do {
        try {
            cout << "Введите пароль: ";
            cin.getline(buf, PASSWORD_LENGTH);
            md5buf=new char[md5(buf).size()+1];
            strcpy (md5buf, md5(buf).c_str());
        }
        catch ( istream::failure e ) 
    {
            system("cls");
            cerr << "Пароль должен быть короче, нажмите Enter, чтобы попробывать еще раз..." << endl;
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');    
            getchar();
    }
        system("cls");
    } while ( strcmp(md5buf, CORRECT_PASSWORD) );
    delete[] md5buf;
     secret();
     getchar();
     return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2014, 10:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прокомментировать код (C++):

Прокомментировать код - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; ifstream in (&quot;input.txt&quot;); ifstream kin...

Прокомментировать код - C++
Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю розовым цветом. Буду очень благодарна!!! #include...

Прокомментировать код - C++
Задание : С клавиатуры вводиться строка символов (не более 10). Опередить сколько символов стоят после двоеточия. Весь код: ...

Прокомментировать код - C++
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста. int dwsp(double* x, double* y); int...

Прокомментировать код - C++
// Функция решения квадратного уравнения #include &quot;stdio.h&quot; #include &quot;StdAfx.h&quot; #include &quot;conio.h&quot; #include&lt;locale.h&gt; 2 1 ...

Прокомментировать код - C++
Может кто нибудь помочь с комментариями просто очень надо) // x.cpp: определяет точку входа для консольного приложения. // ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
29.07.2014, 11:08 #2
kirillivankin, Что вы хотите понять? Сравнение md5 хешей паролей. Эталон забит в коде (CORRECT_PASSWORD), дальше введенный пароль хешируется и сверяется с эталоном, попытки продолжаются до введения корректного пароля.

ЗЫ
C++
1
2
md5buf=new char[md5(buf).size()+1];
strcpy (md5buf, md5(buf).c_str());
Это просто ядерный писец. На кой фиг два вызова md5?
C++
1
2
3
const std::string hash = md5(buf);
md5buf = new char[hash.size() + 1];
strcpy(md5buf, hash.c_str());
1
kirillivankin
0 / 0 / 0
Регистрация: 27.07.2014
Сообщений: 35
29.07.2014, 11:25  [ТС] #3
что такое md5?))
C++
1
const int PASSWORD_LENGTH=10;
вот эта строка не понятна,
вот эта команда const int
вот эта команда
C++
1
const char * CORRECT_PASSWORD="130f1a8e9e102707f3f91b010f151b0b";
вот эта
try {
вот эта
C++
1
cin.exceptions(istream::failbit | istream::badbit
вот эта
C++
1
system("cls")
вот эта cerr
вот эта
C++
1
delete[] md5b
вот эти
C++
1
2
cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n')
и эти
C++
1
2
3
cin.getline(buf, PASSWORD_LENGTH);
            md5buf=new char[md5(buf).size()+1];
            strcpy (md5buf, md5(buf).c_str())
0
Senarist
45 / 45 / 12
Регистрация: 14.03.2014
Сообщений: 599
29.07.2014, 11:32 #4
kirillivankin Если вам ничто не понятно то откуда это у вас, а точнее зачем?
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
29.07.2014, 11:42 #5
kirillivankin, А вот это я уже объяснять не собираюсь, любой учебник в зубы и вперед (так же поможет гугл). md5
0
Jewbacabra
Эксперт PHP
2467 / 2055 / 779
Регистрация: 24.04.2014
Сообщений: 6,050
29.07.2014, 11:42 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kirillivankin Посмотреть сообщение
что такое md5?))
http://ru.wikipedia.org/wiki/MD5
Цитата Сообщение от kirillivankin Посмотреть сообщение
вот эта команда const int
http://habrahabr.ru/post/59558/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.exceptions(istream::failbit | istream::badbit
http://www.cplusplus.com/reference/ios/ios/exceptions/
Цитата Сообщение от kirillivankin Посмотреть сообщение
try {
http://msdn.microsoft.com/ru-ru/library/6dekhbbc.aspx
Цитата Сообщение от kirillivankin Посмотреть сообщение
system("cls")
http://support.microsoft.com/kb/99261/ru
Цитата Сообщение от kirillivankin Посмотреть сообщение
вот эта cerr
http://www.cplusplus.com/reference/iostream/cerr/
Цитата Сообщение от kirillivankin Посмотреть сообщение
delete[] md5b
http://www.cplusplus.com/reference/n...rator%20delete[]/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.clear();
http://www.cplusplus.com/reference/ios/ios/clear/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.ignore(numeric_limits<streamsize>::max(), '\n')
http://www.cplusplus.com/reference/i...stream/ignore/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.getline(buf, PASSWORD_LENGTH);
http://www.cplusplus.com/reference/i...tream/getline/
Цитата Сообщение от kirillivankin Посмотреть сообщение
md5buf=new char[md5(buf).size()+1];
http://ru.wikipedia.org/wiki/New_(C%2B%2B)
Цитата Сообщение от kirillivankin Посмотреть сообщение
strcpy (md5buf, md5(buf).c_str())
http://www.cplusplus.com/reference/cstring/strcpy/

kirillivankin, на каждый вопрос 1-2 результат googla. Неужели так сложно было это сделать самому, а еще лучше почитать учебник по C++
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2014, 11:42
Привет! Вот еще темы с ответами:

Прокомментировать код - C++
Прокомментировать код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #define n 5 int main() { int...

Прокомментировать код - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;math.h&gt; main() ...

Прокомментировать код - C++
нужно описать что делают строки готовой программы #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; ...

Прокомментировать код - C++
#pragma hdrstop #include &lt;conio.h&gt; #include &lt;cmath&gt; #include &lt;iostream&gt; using namespace std; int main() { int k =...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.07.2014, 11:42
Ответ Создать тему
Опции темы

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