|
0 / 0 / 0
Регистрация: 24.10.2015
Сообщений: 142
|
|||||||||||
Pad / unpad при AES / CBC шифровании28.07.2022, 20:54. Показов 2583. Ответов 2
Метки нет (Все метки)
Форумчане, приветствую!
Необходимо закодировать и раскодировать текстовый файл. В идеале AES / CBC / PKCS5pasdiing. Перерыл интернет (может не так ищу) - не могу понять как (грамотно) добавлять и удалять нули при шифровании / дешифровании. В одних примерах пишут, что нули необходимо дописывать в конце файла. ОК. Если это текстовый файл, я в конце дописал нули, при дешифрации удалил - все ОК. Но, если это цифровой файл, то нули в конце файла увеличивают разрядность числа. А если первичное число заканчивалось одним или несколькими нулями? При дешифрации мы их всех удалим? Это не есть good. По-идее должен быть какой-то признак, который определяет дописанное количество нулей в конце файла и при раскодировании удалять именно необходимое количество нулей. Логичней нули дописывать перед текстом. Но, опять же, для текста это без разницы. А число может быть, например: '00349856427050". Как быть в этом случае? У меня есть 2 кода. Первый мне дали здесь на форуме. Он шифрует и дешифрует, но при дешифровке в конце текста остаются "кракозябры". Это, видимо, следы тех самых, не удаленных нулей (в конце текста). Код:
Кликните здесь для просмотра всего текста
0, 50 -254, -171 -254, -171 -254, -171 -254, -171 -254, -171 -254, -171 -254, -171 Написал другой код. Он корректно раскодирует и декодирует данные с добавленными нулями (пробовал добавлять до и после текста). Кодирует и дешифровывает четко. Но, как убирать нули, если не знаешь сколько их дописано в конкретный файл. Буду искренне признателен, если ткнете в доки или объясните. Благодарю. Мой код:
0
|
|||||||||||
| 28.07.2022, 20:54 | |
|
Ответы с готовыми решениями:
2
Исходники AES (шифр AES в режиме CBC)
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||||||
| 29.07.2022, 05:23 | ||||||
|
Вот так вроде без лишних символов
1
|
||||||
|
0 / 0 / 0
Регистрация: 24.10.2015
Сообщений: 142
|
|
| 29.07.2022, 08:40 [ТС] | |
|
Jabbson, да, точно, благодарю!
Работает корректно. Разберусь как работает pad/unpad.
0
|
|
| 29.07.2022, 08:40 | |
|
Помогаю со студенческими работами здесь
3
OpenSSL AES 256 CBC AES 256 CBC Decode Шифрование AES/CBC/PKCS5Padding Дешифрование AES в режиме CBC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|