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

Шифрование символов в файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс "окружность" http://www.cyberforum.ru/cpp-beginners/thread604520.html
Написать программу работы с окружностями. Окружность является объектом класса. Память под окружность должна выделяться динамически (с помощью new). Должны быть определены деструктор и следующие...
C++ Матрицы: сложения двух матриц (двумерных массивов) Необходимо написать программу сложения двух матриц (двумерных массивов) на языке СИ++. Даны матрицы A и B. Надо их объявить и заполнить случайным образом через random, распечатать, получить матрицу... http://www.cyberforum.ru/cpp-beginners/thread604506.html
C++ Множества
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные.
C++ Текстовые файлы
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте.
C++ куда воткнуть файл res? http://www.cyberforum.ru/cpp-beginners/thread604494.html
есть файл res и его надо как-то подключить . куда его положить? в папку проекта? в документации написано в "стандартная библиотека (папка) С++ Visual Studio/VC98/ Projects" но у меня нет папки...
C++ Visual Studio 6.0 вылетает с ошибкой Хочу добавить в проект файл. перехожу во вкладку где список файлов слева. контекстное меню-> add file и студия вылетает с ошибкой памяти чтото там. пробовал в только что созданом пустом проекте -... подробнее

Показать сообщение отдельно
Paster
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 3

Шифрование символов в файле - C++

14.06.2012, 01:24. Просмотров 1300. Ответов 5
Метки (Все метки)

День добрый!
Проблема такова:
Есть файл содержащий исходный набор символов(текст, строки и т.д.).
нужно составить программу для шифрования каждого символа исходного файла методом добавления определенного ключа, записать эту последовательность в другой файл, и дешифровать сообщение в третий файл.

Есть исходный код на Delphi.
Pascal
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
program Crypto;
{$APPTYPE CONSOLE}
 
const
  KEY = 'ASO';
 
var
  fi, fo, fu: File;
  input, output: byte;
  j, len: integer;
 
begin
  Assign(fi, 'input.txt');
  Assign(fo, 'output.txt');
  Assign(fu, 'output2.txt');
  Reset(fi,1);
  Rewrite(fo,1);
  Rewrite(fu,1);
  try
    j := 1;
    len := length(KEY);
    while not(EoF(fi)) do
    begin
      blockread(fi, input, 1);
      output := (input+ord(KEY[j])) mod 256;
      blockwrite(fo, output, 1);
      j := j + 1;
      if j > len then
        j := 1
    end;
    Close(fo);
    Reset(fo,1);
    j := 1;
    while not(EoF(fo)) do
    begin
      blockread(fo, input, 1);
      output := (input+256-ord(KEY[j])) mod 256;
      blockwrite(fu, output, 1);
      j := j + 1;
      if j > len then
        j := 1
    end;
  finally
    Close(fi);
    Close(fo);
    Close(fu);
  end;
end.
Можно его переправить на с++?
Очень надо! Сдавать лабу надо 14.06.
Спасибо за ранее

Добавлено через 9 часов 30 минут
В общем чего то я "намутил", получился такой код:
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
//---------------------------------------------------------------------------
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
 
 
 
using namespace std;
//---------------------------------------------------------------------------
void main()
{
    //fstream  in, crypt, decrypt;
    ifstream in;
    fstream crypt;
    ofstream decrypt;
    in.open("C:\\in.txt",ios::out|ios::binary);
    crypt.open("C:\\crypt.txt",ios::in|ios::out|ios::binary);
    decrypt.open("C:\\decrypt.txt",ios::in|ios::binary);
 
    char *key = "sd";
    /*cout<<"Vvedite Kluch: ";
    cin>>*key; */
    double n=strlen(key);
    double i=0;
    short int j;
    char temp, buff=NULL;
    while(!in.eof())
    {
        in.read((char*)&buff, sizeof(buff));
        //b=buff;
        j=fmod(i,n);
        temp=buff^key[j];
        crypt.put(temp);
        i++;
        buff=NULL;
    }
    in.close();
    //crypt.close();
    //crypt.open("C:\\crypt.txt",ios::out|ios::binary);
    decrypt.open("C:\\decrypt.txt",ios::in|ios::binary);
    double k=0;
    short int b;
    char temp1, buff1=NULL;
    while (!crypt.eof())
    {
        crypt.read((char*)&buff1, sizeof(buff1));
        //b=buff;
        b=fmod(k,n);
        temp1=buff1^key[j];
        decrypt.write((char*)&temp1,sizeof(temp1));
        k++;
        buff1=NULL;
    }
    crypt.close();
    decrypt.close();
 
    getch();
}
Вопрос сейчас встал в том, чтоб открыть файл crypt.txt для чтения из него во второй части кода!
т.е. сначала в него записываем шифрованное сообщение, закрываем, а потом открываем для чтения.
Уже битый час сижу и отупляю((((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru