Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/170: Рейтинг темы: голосов - 170, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
1

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

13.05.2010, 09:40. Показов 33212. Ответов 54
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
программа для шифрования и расшифровки текстовых файлов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2010, 09:40
Ответы с готовыми решениями:

Реализовать программный модуль шифрования и дешифрования текстовых файлов в соответствии с алгоритом шифрования и ключом
Реализовать программный модуль шифрования и дешифрования текстовых файлов в соответствии с данным...

Программа для шифрования и дешифрования текстовых данных
Помогите пожалуйста, мне нада написать в delphi программу для шифрования и дешифрования текстовых...

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

Программа для поиска текстовых файлов
Help, pls! Разработать программу для поиска текстовых файлов, содержащих заданную...

54
28 / 28 / 4
Регистрация: 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");
}
0
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
13.05.2010, 12:49 3
этот метод прост как швабра, но есть одно "но"
если на пути вычислений попадётся символ выходящий за пределы самого char'а...
1
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
15.05.2010, 18:39  [ТС] 4
шифровать надо текстовые файли!!
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
15.05.2010, 19:01 5
Кода-то писал такой код (не сохранил, по-новой писать лень)) - пользователь вводит кодовое слово, которое считывается как unsigned char, потом осуществляется циклический сдвиг каждого байта в файле на "кодовое слово" раз влево. Для расшифровки - циклический сдвиг вправо на "кодовое слово" раз.
Ну, это так, к слову про то, как простенько шифрануть файл.
1
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
15.05.2010, 19:20  [ТС] 6
напиши плиз код!
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 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 - зашифрованный файл на выходе.
для расшифрования прогнать уже зашифрованный файл на том же ключе
2
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
17.05.2010, 08:24  [ТС] 8
Программа должна реализовывать шифрования и расшифровки текстовых фалов.
Имя файла содержимое которого нужно зашифровать / расшифровать должен указать пользователь, а также сохраняется результат в файле имя которого задает пользователь.
Предусмотреть вывод обоих файлов на экран.
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
17.05.2010, 11:39 9
Цитата Сообщение от -Andriy- Посмотреть сообщение
Программа должна реализовывать шифрования и расшифровки текстовых фалов.
Имя файла содержимое которого нужно зашифровать / расшифровать должен указать пользователь, а также сохраняется результат в файле имя которого задает пользователь.
Предусмотреть вывод обоих файлов на экран.
странный Вы человек, вам как минимум 2-х вариантов шифрования мало? если да, погуглите немного.
по поводу:
шифровать надо текстовые файли!!
любым из написанных выше методов, Вы можете шифровать хоть текстовые файлы, хоть массивы чисел, хоть китайские кроссворды, cуть шифрование при этом не изменится.
ЗЫ: если вам мало описанных выше методов шифрования, или хотите более серьёзного метода - почитайте про RSA http://ru.wikipedia.org/wiki/RSA
0
fasked
17.05.2010, 20:21
  #10

Не по теме:

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

0
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
18.05.2010, 08:11  [ТС] 11
написаная выше програма не канает!(
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.05.2010, 08:15 12
написаная выше програма не канает!!
Чем же интересно? Тем, что вам предлагают хоть немного потрудиться самому и доработать решение под собственные нужды? А вы хотите сразу полностью готовый код? Тогда постарались бы хоть задание описать конкретно и что не так в программах.
1
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 26
20.05.2010, 08:05  [ТС] 13
запускаетса и ничево не делает(
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
20.05.2010, 12:02 14
Цитата Сообщение от -Andriy- Посмотреть сообщение
запускаетса и ничево не делает(
А что она должна по вашему делать? Я описал ниже все переменные, вводите свои значения и все будет работать, переделайте программу так, чтобы она в процессе работы запрашиваола у польователя имена файлов и ключ
вашу работа за вас никто не будет делать
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
21.05.2010, 09:17 15
это жестоко. не издевайтесь над человеком.
Это почему жестоко ?
С помощью библиотеки openssl если брать высокоуровневые функции то зашифровать/зашифровать будет стоить штук 5 функций из openssl. Готовые примеры кода можно спокойно найти.

Добавлено через 41 секунду
Причем смена одного алгоритма на другой - это все лишь один параметр в одной функции
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
21.05.2010, 09:24 16
Цитата Сообщение от odip Посмотреть сообщение
Это почему жестоко ?
С помощью библиотеки openssl если брать высокоуровневые функции то зашифровать/зашифровать будет стоить штук 5 функций из openssl. Готовые примеры кода можно спокойно найти.
Добавлено через 41 секунду
Причем смена одного алгоритма на другой - это все лишь один параметр в одной функции
жестоко потому что библиотеку надо еще создать, подключить и воспользоваться теми самыми примерами... говоря про конкретный случай, хм хм...
1
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".
Если кому интересно, могу выложить как я исправил это.
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.08.2011, 21:10 18
Представленные здесь методы шифрования абсолютно ЛЕГКО взламываются. А кто-то про RSA упомянул - это для шифрования только ключей. Используйте шифры AES, ГОСТ, RC6 и т.д.

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

Если уж будете его использовать, то храните ключи в файле и по возможности ключ по длиннее используйте, хотя и это вас не всегда спасет.
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
28.08.2011, 21:12 19
Цитата Сообщение от Thinker Посмотреть сообщение
Представленные здесь методы шифрования абсолютно ЛЕГКО взламываются.
Вот так удивил...
Цитата Сообщение от Thinker Посмотреть сообщение
А кто-то про RSA упомянул - это для шифрования только ключей.
Что-что, простите?
Цитата Сообщение от Thinker Посмотреть сообщение
Используйте шифры AES, ГОСТ, RC6 и т.д.
Какой именно ГОСТ? Вы хотя бы в курсе, чем эти криптоалгоритмы отличаются друг от друга? Натолкали кучу алгоритмов в одну кучу без определения контекста задачи.
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.08.2011, 21:16 20
Это блочные шифры для данной задачи.
Про RSA. Это шифр с открытым ключом. Используется для ШИФРОВАНИЯ КЛЮЧЕЙ ДЛЯ БЛОЧНЫХ ШИФРОВ.
0
28.08.2011, 21:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2011, 21:16
Помогаю со студенческими работами здесь

Программа для поиска текстовых файлов по содержимому
Программа для поиска текстовых файлов по содержимому. Например, найти все файлы в которых есть...

Программа для поиска повторяющихся текстовых файлов
Всем привет!У меня возникла такая проблема. Мне нужно написать программу в Visual studio 2008,...

Программа для сравнения двух текстовых файлов
Составьте программу для сравнения двух текстовых файлов. Если файлы не совпадают, то на экран...

Программа для хранения и копирования текстовых файлов
Добрый день программисты! Пишу программу, которая записывает информацию из текстовых файлов в один...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru