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

Составить программу для шифрования информации - C++

Восстановить пароль Регистрация
 
Dante94
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 12
15.04.2013, 17:51     Составить программу для шифрования информации #1
Составить программу для шифрования информации (в любом файле) с помощью операции "исключающая или". Т.е. дан файл с данными, которые нужно зашифровать с помощью "ключа" и файл "результат", в котором записываются зашифрованные данные."Ключ" должен вводится с клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 17:51     Составить программу для шифрования информации
Посмотрите здесь:

Написать программу, в которой объединение используется для хранения информации об одной из геометрических фигур C++
C++ Битовые операции. Написать программу для хранения в битовом поле информации о конфигурации компьютера.
C++ Составить программу, обеспечивающую ввод и сохранение на диске информации о заброшенных мячах в игре баскетбол
Составить программу вывода информации по имени C++
Составить программу на языке Си для вычисления суммы S и функции y (x) для каждого значения параметра х, принадлежащего интервалу, с шагом h: C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 18: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
#include <iostream> 
#include <fstream> 
 
using namespace std;
 
int main() 
{ 
    std::ifstream in("input.txt", std::ifstream::in | std::ifstream::binary);
    std::ofstream out("output.txt", std::ifstream::out | std::ifstream::binary);
    unsigned int data;
    unsigned int key;
    std::cout<<"Intput a key - ";
    std::cin>>key;
    data=in.get();
    while (in.good()) 
    {   
        out<<(char)(data^key); 
        data=in.get(); 
    };
    in.close();
    out.close();
}
Добавлено через 1 минуту
расшифровать назад - можно задав шифрованный файл в качестве входного и с тем же ключом, что был при шифровке - таковы свойства xor

p.s. ключ - цифры от 0 до 2^32-1
Dante94
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 12
15.04.2013, 20:03  [ТС]     Составить программу для шифрования информации #3
Большое спасибо и если не сложно можете представить эту программу через библиотеку stdio, а то через fstream мне не совсем понятно.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 21:11     Составить программу для шифрования информации #4
Большое спасибо и если не сложно можете представить эту программу через библиотеку stdio, а то через fstream мне не совсем понятно.
с такими темами впредь обращайтесь в раздел Си... С++ к stdio имеет очень отдалённое отношение, вот я перевёл ту часть своей программы с С++ которая использует fstream на С и проверил - работает, но я разбираюсь в Си только интуитивно, книжек по нему не читал, так что вероятно там многое можно оптимизировать

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
#include <iostream> 
#include <cstdio> 
 
using namespace std;
 
int main() 
{ 
 
    FILE * pfile1, * pfile2;
        pfile1 = fopen ("input.txt","r");
        pfile2 = fopen ("output.txt","wb");
    
    unsigned int data;
    char buff[4];
    unsigned int key;
    std::cout<<"Intput a key - ";
    std::cin>>key;
 
    while (fgets(buff, sizeof(unsigned int)+1, pfile1) != NULL)
    {   
        data = *buff;
        data = data^key;
        *buff = data;
        fputs(buff,pfile2);
    };
 
    fclose(pfile1);
    fclose(pfile2);
}
Yandex
Объявления
15.04.2013, 21:11     Составить программу для шифрования информации
Ответ Создать тему
Опции темы

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