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

программа для шифрования и расшифровки текстовых файлов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 86, средняя оценка - 4.86
-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
13.05.2010, 09:40     программа для шифрования и расшифровки текстовых файлов #1
программа для шифрования и расшифровки текстовых файлов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 09:40     программа для шифрования и расшифровки текстовых файлов
Посмотрите здесь:

C++ Конкатенация текстовых файлов
C++ Программа для шифрования
Использование массивов и текстовых файлов//это не для слабаков..и если толком ничего не знаете то даже не пытайтесь решить C++
C++ C++ подключение текстовых файлов
Написать программы шифрования и расшифровки файла методом циклического сдвига C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VAN32
 Аватар для VAN32
27 / 27 / 2
Регистрация: 18.11.2009
Сообщений: 92
13.05.2010, 12:44     программа для шифрования и расшифровки текстовых файлов #2
//Шифрование методом algo

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
#include <windows.h>
#include <iostream.h>
#include <stdio.h>
 
void encrypt (char buf[])
{
   for( int i=0; buf[i] != '\0'; ++i)
    {
      ++buf[i];
    }
}
 
void decrypt(char buf[])
{
    for(int i = 0; buf[i] != '\0'; ++ buf)
     {
      --buf[i];
     }
}
 
int main (int argc, char *argv[])
{
      char string[] = "This string must be encrypted";
      encrypt(string);
      cout << "Enrypted string: " << string << endl;
 
      decrypt(string);
      cout << "Decrypted string:" << string << endl ;
      system("PAUSE");
}
kuroiryuu
 Аватар для kuroiryuu
311 / 295 / 23
Регистрация: 05.11.2009
Сообщений: 698
Завершенные тесты: 2
13.05.2010, 12:49     программа для шифрования и расшифровки текстовых файлов #3
этот метод прост как швабра, но есть одно "но"
если на пути вычислений попадётся символ выходящий за пределы самого char'а...
-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
15.05.2010, 18:39  [ТС]     программа для шифрования и расшифровки текстовых файлов #4
шифровать надо текстовые файли!!
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.05.2010, 19:01     программа для шифрования и расшифровки текстовых файлов #5
Кода-то писал такой код (не сохранил, по-новой писать лень)) - пользователь вводит кодовое слово, которое считывается как unsigned char, потом осуществляется циклический сдвиг каждого байта в файле на "кодовое слово" раз влево. Для расшифровки - циклический сдвиг вправо на "кодовое слово" раз.
Ну, это так, к слову про то, как простенько шифрануть файл.
-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
15.05.2010, 19:20  [ТС]     программа для шифрования и расшифровки текстовых файлов #6
напиши плиз код!
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
15.05.2010, 19:39     программа для шифрования и расшифровки текстовых файлов #7
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
#include <stdio.h>
 
int main()
{
      char key[] = "qwerty";
      FILE *input  = fopen("file.txt", "rb");
      FILE *output = fopen("out_.txt", "wb");
      if ( input != NULL && output != NULL )
      {
         unsigned char buffer[BUFSIZ];
         size_t count, i, j = 0;
         do {
            count = fread(buffer, sizeof *buffer, sizeof buffer, input);
            for ( i = 0; i < count; ++i )
            {
               buffer[i] ^= key[j++];
               if ( key[j] == '\0' )
                  j = 0;
            }
            fwrite(buffer, sizeof *buffer, count, output);
         } while ( count == sizeof buffer );
         fclose(input);
         fclose(output);
      }
   return 0;
}
Добавлено через 1 минуту
Шифрование методом XOR;
в строке key хранится ключ шифрования.
input - файл для шифрования
ouput - зашифрованный файл на выходе.
для расшифрования прогнать уже зашифрованный файл на том же ключе
-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
17.05.2010, 08:24  [ТС]     программа для шифрования и расшифровки текстовых файлов #8
Программа должна реализовывать шифрования и расшифровки текстовых фалов.
Имя файла содержимое которого нужно зашифровать / расшифровать должен указать пользователь, а также сохраняется результат в файле имя которого задает пользователь.
Предусмотреть вывод обоих файлов на экран.
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1761 / 984 / 60
Регистрация: 29.03.2010
Сообщений: 2,975
17.05.2010, 11:39     программа для шифрования и расшифровки текстовых файлов #9
Цитата Сообщение от -Andriy- Посмотреть сообщение
Программа должна реализовывать шифрования и расшифровки текстовых фалов.
Имя файла содержимое которого нужно зашифровать / расшифровать должен указать пользователь, а также сохраняется результат в файле имя которого задает пользователь.
Предусмотреть вывод обоих файлов на экран.
странный Вы человек, вам как минимум 2-х вариантов шифрования мало? если да, погуглите немного.
по поводу:
шифровать надо текстовые файли!!
любым из написанных выше методов, Вы можете шифровать хоть текстовые файлы, хоть массивы чисел, хоть китайские кроссворды, cуть шифрование при этом не изменится.
ЗЫ: если вам мало описанных выше методов шифрования, или хотите более серьёзного метода - почитайте про RSA http://ru.wikipedia.org/wiki/RSA
fasked
17.05.2010, 20:21
  #10

Не по теме:

Цитата Сообщение от l_a_m Посмотреть сообщение
если вам мало описанных выше методов шифрования, или хотите более серьёзного метода - почитайте про RSA
это жестоко. не издевайтесь над человеком.

-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
18.05.2010, 08:11  [ТС]     программа для шифрования и расшифровки текстовых файлов #11
написаная выше програма не канает!(
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.05.2010, 08:15     программа для шифрования и расшифровки текстовых файлов #12
написаная выше програма не канает!!
Чем же интересно? Тем, что вам предлагают хоть немного потрудиться самому и доработать решение под собственные нужды? А вы хотите сразу полностью готовый код? Тогда постарались бы хоть задание описать конкретно и что не так в программах.
-Andriy-
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
20.05.2010, 08:05  [ТС]     программа для шифрования и расшифровки текстовых файлов #13
запускаетса и ничево не делает(
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
20.05.2010, 12:02     программа для шифрования и расшифровки текстовых файлов #14
Цитата Сообщение от -Andriy- Посмотреть сообщение
запускаетса и ничево не делает(
А что она должна по вашему делать? Я описал ниже все переменные, вводите свои значения и все будет работать, переделайте программу так, чтобы она в процессе работы запрашиваола у польователя имена файлов и ключ
вашу работа за вас никто не будет делать
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
21.05.2010, 09:17     программа для шифрования и расшифровки текстовых файлов #15
это жестоко. не издевайтесь над человеком.
Это почему жестоко ?
С помощью библиотеки openssl если брать высокоуровневые функции то зашифровать/зашифровать будет стоить штук 5 функций из openssl. Готовые примеры кода можно спокойно найти.

Добавлено через 41 секунду
Причем смена одного алгоритма на другой - это все лишь один параметр в одной функции
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.05.2010, 09:24     программа для шифрования и расшифровки текстовых файлов #16
Цитата Сообщение от odip Посмотреть сообщение
Это почему жестоко ?
С помощью библиотеки openssl если брать высокоуровневые функции то зашифровать/зашифровать будет стоить штук 5 функций из openssl. Готовые примеры кода можно спокойно найти.
Добавлено через 41 секунду
Причем смена одного алгоритма на другой - это все лишь один параметр в одной функции
жестоко потому что библиотеку надо еще создать, подключить и воспользоваться теми самыми примерами... говоря про конкретный случай, хм хм...
GFarit
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 7
28.08.2011, 20:46     программа для шифрования и расшифровки текстовых файлов #17
Цитата Сообщение от fasked Посмотреть сообщение
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
#include <stdio.h>
 
int main()
{
      char key[] = "qwerty";
      FILE *input  = fopen("file.txt", "rb");
      FILE *output = fopen("out_.txt", "wb");
      if ( input != NULL && output != NULL )
      {
         unsigned char buffer[BUFSIZ];
         size_t count, i, j = 0;
         do {
            count = fread(buffer, sizeof *buffer, sizeof buffer, input);
            for ( i = 0; i < count; ++i )
            {
               buffer[i] ^= key[j++];
               if ( key[j] == '\0' )
                  j = 0;
            }
            fwrite(buffer, sizeof *buffer, count, output);
         } while ( count == sizeof buffer );
         fclose(input);
         fclose(output);
      }
   return 0;
}
Добавлено через 1 минуту
Шифрование методом XOR;
в строке key хранится ключ шифрования.
input - файл для шифрования
ouput - зашифрованный файл на выходе.
для расшифрования прогнать уже зашифрованный файл на том же ключе
Спасибо за отличный пример!
Довёл ваш пример до полной работоспособности, заодно, исправил один момент,
связанный с работой с текстовыми файлами. В таком виде "\r\n" заменяются на "\0".
Если кому интересно, могу выложить как я исправил это.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.08.2011, 21:10     программа для шифрования и расшифровки текстовых файлов #18
Представленные здесь методы шифрования абсолютно ЛЕГКО взламываются. А кто-то про RSA упомянул - это для шифрования только ключей. Используйте шифры AES, ГОСТ, RC6 и т.д.

Добавлено через 1 минуту
Цитата Сообщение от GFarit Посмотреть сообщение
Спасибо за отличный пример!...Если кому интересно, могу выложить как я исправил это.
Это шифр Вернама с периодической гаммой, взломать такой не составит большого труда. Как бы вы его не исправили - не надежный шифр.

Если уж будете его использовать, то храните ключи в файле и по возможности ключ по длиннее используйте, хотя и это вас не всегда спасет.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
28.08.2011, 21:12     программа для шифрования и расшифровки текстовых файлов #19
Цитата Сообщение от Thinker Посмотреть сообщение
Представленные здесь методы шифрования абсолютно ЛЕГКО взламываются.
Вот так удивил...
Цитата Сообщение от Thinker Посмотреть сообщение
А кто-то про RSA упомянул - это для шифрования только ключей.
Что-что, простите?
Цитата Сообщение от Thinker Посмотреть сообщение
Используйте шифры AES, ГОСТ, RC6 и т.д.
Какой именно ГОСТ? Вы хотя бы в курсе, чем эти криптоалгоритмы отличаются друг от друга? Натолкали кучу алгоритмов в одну кучу без определения контекста задачи.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2011, 21:16     программа для шифрования и расшифровки текстовых файлов
Еще ссылки по теме:

Чтение текстовых файлов для новичков (getline) C++
C++ Перекодировка текстовых файлов
C++ Конкатенация текстовых файлов

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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.08.2011, 21:16     программа для шифрования и расшифровки текстовых файлов #20
Это блочные шифры для данной задачи.
Про RSA. Это шифр с открытым ключом. Используется для ШИФРОВАНИЯ КЛЮЧЕЙ ДЛЯ БЛОЧНЫХ ШИФРОВ.
Yandex
Объявления
28.08.2011, 21:16     программа для шифрования и расшифровки текстовых файлов
Ответ Создать тему
Опции темы

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