|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
||||||
Мой алгоритм дешифрует не все14.06.2015, 22:45. Показов 1831. Ответов 37
Метки нет (Все метки)
Здравствуйте, и опять я. Хотел с помощью XOR шифровать большие тексты (свыше 3к символов), но он некорректно справляется с 400-500 символов.
Код:
fin — файл с текстом на английском. key — в нём ключ, ибо он очень длинный. fout — зашифрованный текст. fout1 — дешифрованный fout (который мы ранее зашифровали).
0
|
||||||
| 14.06.2015, 22:45 | |
|
Ответы с готовыми решениями:
37
Мой алгоритм шифрования Попробуйте расшифровать мой алгоритм Программа не правильно дешифрует |
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 14.06.2015, 22:52 [ТС] | |
|
0
|
|
| 14.06.2015, 23:23 | ||||||||||||
|
Работать надо с байтами и явным размером. http://gazlan.narod.ru/toy_tools/xor.rar
0
|
||||||||||||
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 14.06.2015, 23:37 [ТС] | |
|
Так в чем проблема? В том что я использую string вместо char? Так string тоже набор char символов.
Укажите на проблему. С текстами поменьше все нормально. А string использую что бы не хаставлять пользователя вводить размер.
0
|
|
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:00 [ТС] | |
|
Да, так и есть, но с файлми просто для теста, что бы не вводить такие длинные тексты. Вообще программа не должна требовать размер текста, а потом ещё и размер ключа. По этому я просто добавил чтение/запись. Пользователь будет вводить только ключ и текст, это очень важно.
0
|
|
| 15.06.2015, 00:20 | ||
|
0
|
||
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:26 [ТС] | |
|
Какое же решение? Я не могу знать заранее ключ или текст. Посоветуйте что-то, желательно то, что бы вы сами использовали, если бы нужно было вводить без указания размера. Я новичек, string — это первое, что пришло в голову.
0
|
|
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
||||||
| 15.06.2015, 00:27 | ||||||
ещё вот возможно рабочий совет, закрывайте потоки(файлы) после того как прочтёте\запишете
0
|
||||||
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
||
| 15.06.2015, 00:30 [ТС] | ||
|
0
|
||
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
||||||
| 15.06.2015, 00:36 | ||||||
|
как лучше сделать? считывать побитово(в идеале), ну посимвольно в реальности равномерно с обоих файлов, к примеру есть файл сообщение.тхт и ключ.тхт, они должны быть равны если шифрование вернама, ну или сделать циклически для ключа.
так вот, делаем 2 переменные char: a и b; и делаем цикл от 0 до размера файла в символах(до конца файла) считываем в 'a' символ с сообщение.тхт, в 'b' считываем символ с ключ.тхт, делаем XOR, к примеру char c = a XOR b, и записываем 'с' в файл закодированное_сообщение.тхт как же раскодировать? точно так же, только вместо "сообщение.тхт" использовать "закодированное_сообщение.тхт". сейчас набросаю код Добавлено через 4 минуты
0
|
||||||
| 15.06.2015, 00:36 | ||
|
В любом случае, вы же как-то передаете ваши зашифрованные данные и ключ? - там же можете передать и их размеры (и прочие метаданные - Timestamp, CRC etc).
0
|
||
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:38 [ТС] | |
|
Хорошо, будет полезно. Но мне нужно вводить ключ и текст без указания размера, я решил использовать string и появились проблемы (см. выше) с дешифровкой. Человек выше говорит что это из-за string, что нужно использовать char. Я теряюсь.. Даже не знаю что делать.
0
|
|
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
||||||
| 15.06.2015, 00:41 | ||||||
|
gazlan, не подскажете можно ли одной операцией считать весь файл в строку? cin >> для слова, getline для строки, думаю есть и getall, getfile для всего файла
Добавлено через 1 минуту
0
|
||||||
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:43 [ТС] | |
|
Извините за ошибку, я не сильно хорошо знаю русский. Ну тогда пользователю нужно будет вводить этот DWORD. А ему это не нужно, он хочет в один клик шифровать и дешифровать. Дайте пожалуйста ссылку на справку по DWORD..
0
|
|
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
|
| 15.06.2015, 00:46 | |
|
хотя всё равно могу ошибаться, может быть и считывается символ '\0' в конце
кстати надо проверить правильность string'ов, чтобы все заканчивались на '\0' Добавлено через 2 минуты если всё что выше вам не помогло, я могу лишь посоветовать вам включить отладку и проверять файл fout.txt после каждой записи
0
|
|
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:49 [ТС] | |
|
0
|
|
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
|
| 15.06.2015, 00:49 | |
|
нашёл информацию про DWORD:
DWORD — 32-битное беззнаковое целое. Аналоги: unsigned long int, UINT. зачем нужно использовать DWORD? и думаю не стоит вообще его использовать т.к. вводит в заблуждение
0
|
|
|
0 / 0 / 1
Регистрация: 18.04.2015
Сообщений: 138
|
|
| 15.06.2015, 00:52 [ТС] | |
|
0
|
|
| 15.06.2015, 00:54 | |
|
Я говорил уже, вам вообще не нужны строки. И чем раньше вы о них забудете, чем лучше.
Например, по приведенной мной ранее ссылке, используется file mapping и вся обработка сводится к XOR'у двух массивов, об остальном позаботится OS. Если ваш файл так велик, что RAM не хватает - читайте частями в буфер меньшего размера - без всяких преобразований типа и создания бесполезных дополнительных оберток (a la string). Если же непременно хочется использовать потоки, можете читать файл посимвольно (OS возьмет на себя буферизацию).
0
|
|
| 15.06.2015, 00:54 | |
|
Помогаю со студенческими работами здесь
20
Правильный ли мой алгоритм вхождения строки в подстроку по уровню?
Google потерял все ссылки на мой сайт -> PR=0 Написать программу, которая дешифрует текст исходного текстового файла, состоящего из различных слов и знаков препинания
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|