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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
alisa511
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 2
#1

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

21.01.2013, 16:39. Просмотров 2137. Ответов 3
Метки нет (Все метки)

в общем дан текст в файле.Нужно зашифровать его, например, с помощью кода Ascii, и записать в другой файл. нет даже предположений, так как не объяснили даже примерно как это делается. Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 16:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как зашифровать текст из файла шифрованием Цезаря с ключевым словом? (C++):

Перестановочный шифр с ключевым словом - C++
Помогите, нужно сделать программу что будет зашифровывать и расшифровывать текст с помощью перестановочного шифра. Буквы открытого...

Зашифровать картинку или любой другой файл XOR шифрованием - C++
Привет. Мне нужно зашифровать картинку, или любой другой файл XOR шифрованием. Как сделать текст я знаю, но вот как картинку? Открывать же...

Шифрование/дешифрование шифра Трисемуса с любым ключевым словом - C++
Помогите,пожалуйста написать программу по шифровке и дешифровке шифра Трисемус с любым ключевым словом в С++.

Как заполнить переменную типа WCHAR предложением путем добавления словом за словом? - C++
Здравствуйте! Не могу понять, как заполнить переменную типа WCHAR предложением путем добавления словом за словом? Все таки придется...

зашифровать текст - C++
На C++ как зашифровать текст,чтобы буквы выводились в любом порядке в слове.

Зашифровать текст - C++
Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 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
Студент
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; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 23:16
Привет! Вот еще темы с ответами:

Зашифровать текст - C++
Здравствуйте ! Помогите,пожалуйста,составить программу,которая бы считывала русский текст из файла &quot;input.txt&quot; и кодировала его,заменяя...

Зашифровать текст С++ - C++
Нужно текст взять из текстового документа File.txt, и вывести в текстовый-зашифрованный файл вот что я сделал #include...

Зашифровать текст - C++
Зашифровать данное слово, используя таблицу ASCII-кодов: Printer И дешифровать, используя таблицу ASCII-кодов: 43 4F 4D 50 55 54 45 52 ...

Зашифровать текст - C++
. Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.01.2013, 23:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru