Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- const string in_alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя ";
- //const string out_alphabet = "qazwsxedcrfvtgbyhnujmik,ol.p;/[']@";
- const string out_alphabet = "еёжзийклабвгдмнопрстуфхцчшщъыьэюя ";
- const string key ="бревно";
- string read_file(){
- char name_file[255]="s_text.txt";
- cout<<"Введите название файла:";
- //cin>>name_file;
- cout<< name_file<<endl;
- ifstream in (name_file);
- string text;
- in >> text;
- in.close();
- return text;
- }
- void encryption(){
- string in_text = read_file();
- string out_text;
- string key_re;
- int len_key = key.length();
- int len_alp = in_alphabet.length();
- for(int i = len_key; i<len_alp; i++){
- key_re = key_re+key_re[i%len_key];
- }
- int len_text = in_text.length();
- int x_i, k_i,j;
- ofstream out ("encryption_text.txt");
- for(int i=0; i< len_text; i++){
- x_i = in_alphabet.find(in_text[i]);
- k_i = in_alphabet.find(key_re[i]);
- j = (x_i+k_i)%len_alp;
- out_text[i] = out_alphabet[j];
- cout<<out_text[i];
- out << out_text[i];
- }
- out.close();
- }
- void decryption(){
- string in_text = read_file();
- string out_text;
- int len_alp = out_alphabet.length();
- string key_valid= "бревно";
- /*cout<<"Введите пароль: ";
- cin>> key_valid;
- cout<<endl;
- cout<<key_valid;*/
- int len_key = key_valid.length();
- /*if(key_valid != key)
- {
- for(int i = len_key; i<len_alp; i++){
- key_valid = key_valid+key_valid[i%len_key];
- }
- cout<< key_valid;
- int len_text = in_text.length();
- int x_i, k_i,j;
- ofstream out ("decryption_text.txt");
- out<< "Text";
- out.close();
- }
- else
- {*/
- for(int i = len_key; i<len_alp; i++){
- key_valid = key_valid+key_valid[i%len_key];
- }
- cout<<key<<endl;
- int len_text = in_text.length();
- int x_i, k_i,j;
- ofstream out ("decryption_text.txt");
- for(int i=0; i< len_text; i++){
- x_i = out_alphabet.find(in_text[i]);
- k_i = in_alphabet.find(key_valid[i]);
- cout<<"x:"<<x_i<<"k:"<<k_i<<endl;
- j = (x_i-k_i+len_alp)%len_alp;
- cout<<j<<endl;
- out_text[i] = in_alphabet[j];
- cout<<out_text[i];
- out << out_text[i];
- }
- out.close();
- //}
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int input;
- loop:;
- cout<<"Выберете режим работы программы"<<endl;
- cout<<"Шифрование [1]"<<endl;
- cout<<"Расшифровка [2]"<<endl;
- cin>>input;
- switch (input){
- case 1: encryption(); break;
- case 2: decryption(); break;
- default: goto loop; break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement