|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2013, 21:44 | #1 |
Новичок
Джуниор
Регистрация: 18.12.2013
Сообщений: 2
|
Помогите разобрать шифрование. Как программа шифрует текст? Т.е. что она для этого делает?
//---------------------------------------------------------------------------
#include<iostream.h> #include<conio.h> #include<fstream.h> #include<string.h> #include<math.h> #include"rus.h" #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused void main() { char* kluch; //резервируем адрес для ключевого выражения ifstream inp("Input.txt"); ofstream out("Output.txt"); if(!inp) { cout<<Rus("ОТСУТСТВУЕТ ФАЙЛ Input.txt"); getch(); exit(1); } cout<<Rus("ВВЕДИТЕ КЛЮЧ (БЕЗ ПРОБЕЛОВ)"); cin>>kluch; int n=strlen(kluch); //длина ключа int b,j,i=0; for(int k=0;k<n;k++) { //преобразование символов ключа в прописные b=kluch[k]; if(b<=-33&&b>=-64)b+=32; //A->а,Б->б,...(русский алфавит) if(b==-81||b==-88||b==-86)b+=16; //Ї->ї,Є->є,Ё->ё if(b<=90&&b>=65)b+=32; //A->a, B->b,...(английский ) kluch[k]=b; } char temp,buffer=NULL;//buffer-считываемый символ,temp- преобразованный символ while(!inp.eof()) //пока не достигнут конец файла { inp.read((char*)&buffer,sizeof(buff er));//считываем очередной символ if(buffer==NULL)break;// если файл пустой b=buffer; //преобразование символов исходного текста в заглавные if(b>=-32&&b<=-1)b-=32; //а->А,б->Б,...(русский алфавит) if(b==-65||b==-72||b==-70)b-=16; //ї->Ї,є->Є,ё->Ё if(b>=97&&b<=122)b-=32; //a->A, b->B,...(английский ) buffer=b; j=fmod(i,n); // переменная j циклически изменяется от 0 до n-1 temp=buffer^kluch[j];// применяем операцию "исключающее ИЛИ" out.put(temp); //записываем кодированный символ i++; //переходим к следующему символу ключевого слова buffer=NULL; } inp.close(); out.close(); cout<<Rus("ЗАШИФРОВАННЫЙ ТЕКСТ НАХОДИТСЯ В ФАЙЛЕ Output.txt"); getch(); } //--------------------------------------------------------------------------- Последний раз редактировалось Александр Мостовой; 20.12.2013 в 21:47. Причина: Неполный вопрос. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобрать прогу, пожалуста | Dimka-novitsek | Общие вопросы C/C++ | 4 | 29.11.2013 17:10 |
Помогите разобрать со String | MasterofCDM | Общие вопросы Delphi | 12 | 06.06.2009 14:53 |
помогите задачу разобрать | Настаська | Помощь студентам | 2 | 26.11.2008 16:16 |
Помогите разобрать прогу! | Mute | Общие вопросы C/C++ | 2 | 28.12.2006 11:34 |