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

Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
alisa511
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 2
21.01.2013, 16:39     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? #1
в общем дан текст в файле.Нужно зашифровать его, например, с помощью кода Ascii, и записать в другой файл. нет даже предположений, так как не объяснили даже примерно как это делается. Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 16:39     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом?
Посмотрите здесь:

C++ Перестановочный шифр с ключевым словом
C++ зашифровать текст
C++ Зашифровать текст
C++ Зашифровать текст
C++ Как заполнить переменную типа WCHAR предложением путем добавления словом за словом?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11823 / 6802 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
21.01.2013, 17:30     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? #2
Как вариант:
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
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
char CodChar(char ch)
{
    return ~(((ch & 0xE0) >> 1) | ((ch & 0x10)<<3) | ((ch & 0x8)>>3) | ((ch & 0x07) <<1));
}
char EnCodChar(char ch)
{
    return ~(((ch & 0x70) << 1) | ((ch & 0x80)>>3) | ((ch & 0x1)<<3) | ((ch & 0xE) >>1));
}
 
 
void foo(const char * inputfile,const char * outputfile,bool encode=false){
    std::fstream file(inputfile,std::ios::in | std::ios::binary);
    file.seekg(0,std::ios::end);
    std::vector<char> vec(file.tellp().seekpos());
    file.seekg(0,std::ios::beg);
    file.read(&vec[0],vec.size());
    file.close();
    file.open(outputfile,std::ios::out | std::ios::binary);
    std::transform(vec.begin(),vec.end(),vec.begin(),encode?EnCodChar:CodChar);
    file.write(&vec[0],vec.size());
}
 
 
int main(){
    foo("input.txt","output.txt");//Шифруем
    foo("output.txt","decod.txt",true);//Дешифруем
    return 0; 
}
alisa511
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 2
23.01.2013, 21:48  [ТС]     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? #3
по моему как то слишком сложно..можно чуть попроще? просто это все надо объяснять преподу, а большую половину кода я не понимаю.
MickeyBlueEyes
Студент
 Аватар для MickeyBlueEyes
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
23.01.2013, 23:16     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? #4
Самая банальная и понятная шифрация. Пересказать будет легко.

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void foo(char * inputfile, char * outputfile, bool encode = false){
    
    FILE * fo;  FILE * foOut; 
    
    if(!encode)
        fo = fopen(inputfile, "r"); //Открываем орыгинальный тест
    else{   
        fo = fopen(inputfile, "r"); //Открываем зашифрованый текст
    }
 
    foOut = fopen(outputfile, "w+"); //Куда записываем шифрованый или росшифрованый текст
 
    char key = 5; //Ключ шифрования / дешифрования
 
    char c; //Символ для считывания и записи
 
    if(!encode){
        while((c = getc(fo)) != EOF){
            putc(c ^ key, foOut); //Применяем xor для шифрования и записываем символ в файл
        }
    }else{
        while((c = getc(fo)) != EOF){
            putc(c ^ key, foOut); //Применяем xor для дешифрования и записываем символ в файл
        }
    }
    
    fclose(fo);  fclose(foOut);
 
}
 
 
int main(){
    
    foo("C:\\input.txt", "C:\\output.txt"); //Шифруем
    
    foo("C:\\output.txt", "C:\\decod.txt", true); //Дешифруем
 
    getchar();
 
    return 0; 
}
Yandex
Объявления
23.01.2013, 23:16     Как зашифровать текст из файла шифрованием Цезаря с ключевым словом?
Ответ Создать тему
Опции темы

Текущее время: 11:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru