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

Шифрование текстового файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибки потоков http://www.cyberforum.ru/cpp-beginners/thread181777.html
День добрый. Проблема с определением ошибки ввода потока #include<iostream> #include<iomanip> using namespace std; int main() { setlocale(LC_ALL,"Russian"); int a; while(true)
C++ Библиотека <algorithm> в [c++] Библиотека <algorithm> в как она работает? если можно то с примерами. http://www.cyberforum.ru/cpp-beginners/thread181767.html
C++ вычислениесумма ряда
Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону ) реализовать в виде отдельных функций. При выполнении задания продемонстрировать следующие способы передачи аргументов в вызываемые функции: по значению, указателю и ссылке. В основной функции организовать ввод исходных данных, обращение к функциям и вывод результатов в виде таблицы. Работу программы проверить для a=0,1;...
Найти числа, делящиеся на каждую из своих цифр C++
1!. Написать программу, которая на заданном отрезке натурального ряда чисел находит: 1. все простые числа; 2. все близнецы; 3. все совершенные числа; 4. все палиндромы; 5. числа, делящиеся на каждую из своих цифр; (12, 24, 36)
C++ Найти число пар соседних элементов массива http://www.cyberforum.ru/cpp-beginners/thread181735.html
Дан двумерный массив. Найти число пар соседних элементов. В качестве соседних элементов расссматривать 1 только элементы расположенные в одной строке 2 только элементы расположенные в одном столбце 3 элементы расположенные в одной строке и в одном столбце Свой вариант решения не кидаю, ибо там у меня сплошная путаница((( Добавлено через 54 минуты #include <iostream>
C++ Символ в число есть масив символов: njd6gr7ds3 нужно присвоить значение 6 переменной типа инт как это сделать? char mas = {'n', 'p', '7', 'Q'}; int digit; подробнее

Показать сообщение отдельно
RUSya82
 Аватар для RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
26.10.2010, 13:13     Шифрование текстового файла
Доброго всем времени суток! Ситуация такая: делаю лабораторную работу по "Методам и средствам защиты информации". Требуется написать(точнее дописать) программу, которая шифрует и дешифрует текстовый файл. В принципе все несложно и практически сделано. Вот алгоритм шифрования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                 do
           {
            //Если успешно, то считывание
            in_string=fgets(lines,1000,in);
            //Производим операции шифрования данных в цикле
            for (int i=1; i<=in_string.Length();i++)
            {
            //Поразрядное логическое отрицание
            char  zashSymbol1=~(in_string[i]);
            //Исключающее "ИЛИ"
            char zashSymbol2=zashSymbol1^code;
            // 
            char zashSymbol3=zashSymbol2;//code????????????; 
            out_string=out_string+zashSymbol3;
            }
        }while (!feof(in));
code - переменная типа char, значение которой высчитывается из введенного пароля.
Соответственно расшифрования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
          do
    {
            in_string=fgets(lines,1000,in);
            //Производим операции шифрования данных в цикле
            for (int i=1; i<=in_string.Length();i++)
            {
                //
                char  rasshSymbol1=in_string[i];//code; - ????????????
                //Исключающее "ИЛИ"
                char rasshSymbol2=rasshSymbol1^code;
                // Поразрядное логическое отрицание
                char rasshSymbol3=~rasshSymbol2;
                out_string=out_string+rasshSymbol3;
            }
        }while (!feof(in));
Так вот, требуется выполнить три преобразования, исходной строки. Два выполнено - это отрицание и "исключающее ИЛИ" со значением ключа. В таком виде, без третьего, программа работает. Но я никак не могу подобрать такое третье преобразование, чтобы потом можно было восстановить исходный текст. После операций " | " и " &" исходная последовательность после дешифровки не получается. Может что подскажете? Третью операцию надо произвести также используя символ code.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru