|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.05.2018, 18:41 | #1 |
Пользователь
Регистрация: 05.11.2009
Сообщений: 41
|
Шифрование vmpc
Пытаюсь зашифровать данные из кольцевого списка, записать их в бинарный файл, затем считать и расшифровать. Функцию шифрования vmpc нашел в инете.
При пошаговом выполнении функции записи в файл происходит шифрация и запись в файл. Далее прогоняю чтение из файла - читаю блок данных, визуально сравниваю с тем что записали - все верно, пытаюсь расшифровать - выдает белиберду. При этом попробовал расшифровать сразу после шифрования - все работает. При этом исходные данные одни и те же! Что за чудеса? Код:
|
23.05.2018, 20:10 | #2 |
Пользователь
Регистрация: 05.11.2009
Сообщений: 41
|
Я делаю в codeblocks. Запустил этот код в visual studio 2017 - все работает! выходит проблема в настройках codeblocks.
|
24.05.2018, 03:56 | #3 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Черт его знает, тут у вас "дозапись",
Цитата:
|
|
24.05.2018, 11:25 | #4 |
Пользователь
Регистрация: 05.11.2009
Сообщений: 41
|
убрал + осталось
Код:
Код:
Отследил какое выражение buf показывает дебагер для запиисываемого в файл Код:
Далее пошагово пытаюсь расшифровать Смотрю через дебагер что считалось в buf функцией Код:
Далее расшифровка Код:
|
24.05.2018, 12:10 | #5 | ||
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
1. замените все подобные
Цитата:
Цитата:
Точнее хз...код тут не весь, не ясно, как именно "не работает". Хотя писать в файл 0 плохая идея, т.к. можно заметить, что шифрованое сообщение на 1 байт длинее, предположить, что это 0 и от обратного получить ключ. Лучше при чтении делать буфер +1 байт и последний байт присваивать 0, а еще лучше обнулить весь буфер memset(buf, 0, sizeof(buf)); Последний раз редактировалось alexzk; 24.05.2018 в 12:20. |
||
24.05.2018, 12:38 | #6 |
Пользователь
Регистрация: 05.11.2009
Сообщений: 41
|
С нулями в конце строк проблем нет. Вот изменил теперь шифрую весь буфер. SIZE_NAME = 50;SIZE_TYPE=30;
Даже если бы символ конца не шифровало то то что до него должно быть нормально обработано. Вот код полностью Код:
|
24.05.2018, 12:44 | #7 | |||
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
В функции чтения забыли
Цитата:
Цитата:
Цитата:
Хочу отметить, этот код сплошной пример "как не нужно делать", надеюсь, это не в онлайн магазин пойдет? Последний раз редактировалось alexzk; 24.05.2018 в 12:58. |
|||
24.05.2018, 12:58 | #8 |
Пользователь
Регистрация: 05.11.2009
Сообщений: 41
|
Вот архив проекта на CodeBlock полностью
|
24.05.2018, 12:59 | #9 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
|
24.05.2018, 13:00 | #10 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Выставьте кодировку UTF-8, на линукс русский там не читаем ))
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шифрование VMPC | Namide | C++ Builder | 0 | 14.05.2012 17:08 |
Шифрование | Dexman23 | Помощь студентам | 0 | 20.03.2012 20:54 |
Шифрование | cheef | Общие вопросы Delphi | 2 | 26.06.2010 10:35 |
Шифрование | SnowSin | Помощь студентам | 0 | 13.12.2009 12:14 |
Алгоритм VMPC | Satgoblin | Помощь студентам | 6 | 05.07.2009 20:27 |