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

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

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

Студворк — интернет-сервис помощи студентам
программа для шифрования и расшифровки текстовых файлов.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2010, 09:40
Ответы с готовыми решениями:

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

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

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

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

Не по теме:

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru