Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
vikea
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 12
0

шифрования

26.02.2013, 23:15. Просмотров 600. Ответов 2
Метки (Все метки)

Помогите мне с этим кодом, не работает должным образом...
Он должен шифровать текст в текстовом файле encode.txt, а затем он должен расшифровать текст в текстовый файл decode.txt и необходимо ввести ключа шифрования.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
 
string encode(long lSize, long * lKey, string fPath)
{
    long i, j;
    string text, line, encstr;
    ifstream ifs(fPath.c_str());
    if(!ifs)
        cout<<"Error open file : "<<fPath.c_str()<<endl;
    else
    {
        while(getline(ifs,line))
            text += line;
        ifs.close();
        cout<<"input string : "<<text.c_str()<<endl;
        for(i = 0; i < text.length(); i += lSize)
        {
            line = "";
            for(j = 0; j < lSize; j++)
                line += text[i + j];
            for(j = 0; j < lSize; j++)
                encstr += line[lKey[j]];
        }
    }
    return encstr;
}
 
string decode(long lSize, long * lKey, string fPath)
{
    long i, j;
    string text, line, decstr;
    ifstream ifs(fPath.c_str());
    if(!ifs)
        cout<<"Error open file : "<<fPath.c_str()<<endl;
    else
    {
        while(getline(ifs,line))
            text += line;
        ifs.close();
        cout<<"input string : "<<text.c_str()<<endl;
        decstr = text;
        for(i = 0; i < text.length(); i += lSize)
        {
            for(j = 0; j < lSize; j++)
                decstr[i + lKey[j]] = text[i + j];
        }
    }
    return decstr;
}
 
int main()
{
    char chr;
    long lKey[5] = {0};
    long i, lSize= sizeof(lKey)/sizeof(lKey[0]);
    
    bool bMenu = true;
    string text;
    while(bMenu)
    {
        cout<<"***MENU***\n";
        cout<<"E - encode\n";
        cout<<"D - decode\n";
        cout<<(chr = getch())<<endl;
        switch(toupper(chr))
        {
        case 'E':
            cout<<"Enter key-block : \n";
            for(i = 0; i < lSize; i++)
            {
                cout<<"KEY["<<i + 1<<"] = ";
                cin>>lKey[i];
            }
            text = encode(lSize, lKey, "encode.txt");
            cout<<"Encoded text : "<<text.c_str()<<endl;
            break;
        case 'D':
            cout<<"Enter key-block : \n";
            for(i = 0; i < lSize; i++)
            {
                cout<<"KEY["<<i + 1<<"] = ";
                cin>>lKey[i];
            }
            text = decode(lSize, lKey, "decode.txt");
            cout<<"Decoded text : "<<text.c_str()<<endl;
            break;
        default:
            cout<<"Unsupported key is pressed\n";
            break;
        }
        cout<<"Press Y for see MENU once again\n";
        cout<<"Any other key - EXIT\n";
        cout<<(chr = getch())<<endl;
        if(toupper(chr) != 'Y')
            bMenu = false;
        system("cls");
    }
    system("pause");
    return 0;
}


Вернуться к обсуждению:
шифрования
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 23:15
Готовые ответы и решения:

Оценить эффективность выбранных алгоритмов шифрования путем проведения процедуры шифрования на входных данных
Люди добрые, нужна служба спасения. В C++ это дело написано, коряво, знаю, case...

Метод шифрования
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int...

алгоритм шифрования MISTY1
Здравствуйте, у кого есть исходник misty1 желательно рабочий - поделитесь...

Алгоритм шифрования Anubis
Приветствую! Заранее прошу прощения за нубскую просьбу: нужно применить...

Алгоритм шифрования XTEA
При построении решения, ошибок не выдает. Все работает. Вопрос вот в чем: при...

2
Другие темы раздела
C++ графический режим http://www.cyberforum.ru/cpp-beginners/thread795834.html
Подскажите пожалуйста, как программируя в dev cpp получить цвет заднего фона в графическом режиме? Какой функцией?
C++ Как вам моя идея? Собираюсь делать какую нибудь программу. Вот идея такая(программа для нас программистов): программа для создания матрицы, будут что то типо холста и пользователь сможет загружать обьект матрицы... http://www.cyberforum.ru/cpp-beginners/thread795827.html
C++ Очистка потока ввода && строки
как вобще грамотно очистить поток после ввода множества всяких вещей с клавиатуры? если совсем не чистить то остаются нажатия клавиши enter, если применять такой код cin.clear();...
C++ Дана последовательность из n натуральных чисел
Дорогие форумчане, помогите пожалуйста. Дана последовательность из n натуральных чисел. Для каждого числа исходной последовательности подсчитать количество и сумму четных цифр в записи числа....
C++ Найти в массиве максимальный и минимальный элементы в массиве и их количество http://www.cyberforum.ru/cpp-beginners/thread795786.html
Помогите, пожалуйста, начал осваивать c++...Не могу справиться с такой задачей: Написать программу, которая вводит с клавиатуры массив из N вещественных чисел, находит среди элементов максимальный...
C++ DLL 32 и 64 в C++ 2010 Написал простой dll, откомпилировал его в VC 2010 подключаю к матлабу, который ругается что dll создан 32 битным компилятором, а нужен 64 битный. Подскажите пожалуйста как в VC 2010 откомпилировать... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru