0 / 0 / 0
Регистрация: 27.07.2014
Сообщений: 35
1

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

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

Author24 — интернет-сервис помощи студентам
помогите понять этот код
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2014, 10:34
Ответы с готовыми решениями:

Прокомментировать код
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; using namespace std; const int...

Прокомментировать код
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;Windows.h&gt; using namespace std; void...

Прокомментировать код
Как это работает? #include &lt;QDebug&gt; int main() { int mass; mass = 1; mass =...

Прокомментировать код
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;iomanip.h&gt; #include...

5
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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
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
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 905
29.07.2014, 11:32 4
kirillivankin Если вам ничто не понятно то откуда это у вас, а точнее зачем?
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2014, 11:42 5
kirillivankin, А вот это я уже объяснять не собираюсь, любой учебник в зубы и вперед (так же поможет гугл). md5
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
29.07.2014, 11:42 6
Лучший ответ Сообщение было отмечено kirillivankin как решение

Решение

Цитата Сообщение от 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/refer... xceptions/
Цитата Сообщение от kirillivankin Посмотреть сообщение
try {
http://msdn.microsoft.com/ru-r... khbbc.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/refer... r%20delete[]/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.clear();
http://www.cplusplus.com/reference/ios/ios/clear/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.ignore(numeric_limits<streamsize>::max(), '\n')
http://www.cplusplus.com/refer... am/ignore/
Цитата Сообщение от kirillivankin Посмотреть сообщение
cin.getline(buf, PASSWORD_LENGTH);
http://www.cplusplus.com/refer... m/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
29.07.2014, 11:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2014, 11:42
Помогаю со студенческими работами здесь

Прокомментировать код
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void sort(int* m, int n); ...

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

Прокомментировать код
// Функция решения квадратного уравнения #include &quot;stdio.h&quot; #include &quot;StdAfx.h&quot; #include...

Прокомментировать код
Имеется небольшая часть программки, вот в собственно в чем вопрос &quot;коментарии&quot; void...

Прокомментировать код
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include...

Прокомментировать код
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru