|
0 / 0 / 2
Регистрация: 18.01.2016
Сообщений: 220
|
|||||||||||
Дозапись в файл шифрованной информации16.02.2016, 21:12. Показов 842. Ответов 8
Метки нет (Все метки)
Никак не могу понять, почему не работает дозапись в файл. Сначала создаю файл и пишу туда шифрованный текст. ВСЕ РАБОТАЕТ, данные потом можно расшифровать.
0
|
|||||||||||
| 16.02.2016, 21:12 | |
|
Ответы с готовыми решениями:
8
Дозапись информации в файл
|
|
22 / 25 / 11
Регистрация: 10.10.2013
Сообщений: 165
|
|
| 16.02.2016, 21:34 | |
|
frank2, метод StreamWriter.Write абсолютно идентичен методу Console.Write. Ты подаешь на вход байты, байт это целое число от -128 до 127. Он и пишет цифры. Так что тебе надо зашифрованный массив байтов перевести в массив char и записать этот массив char. Либо надо записывать бинарно, как через WriteAllBytes.
0
|
|
|
0 / 0 / 2
Регистрация: 18.01.2016
Сообщений: 220
|
|
| 16.02.2016, 21:49 [ТС] | |
|
inst_mefi, если выводить в консоль, то он показывает совсем не то, что пишет в файл
0
|
|
|
22 / 25 / 11
Регистрация: 10.10.2013
Сообщений: 165
|
|
| 16.02.2016, 22:03 | |
|
frank2, я могу повторить, что StreamWriter пишет в файл текст. Если ему подсунуть числа, он числа трансформирует в текст вызывая ToString и пишет. Кстати у него нет перегрузки для Write(byte), он наследует его от TextWriter, который использует консоль. Вам надо писать бинарно или мириться с циферками, или явно приводить byte к char.
0
|
|
|
0 / 0 / 2
Регистрация: 18.01.2016
Сообщений: 220
|
|||||||||||
| 16.02.2016, 22:19 [ТС] | |||||||||||
|
inst_mefi, если просто
Если
0
|
|||||||||||
|
22 / 25 / 11
Регистрация: 10.10.2013
Сообщений: 165
|
|
| 16.02.2016, 22:44 | |
|
frank2, у меня к сожалению нет вашей реализации RC4. Если поставить два ваших блока подряд без шифрования то они работают корректно и с конвертацией в чар и без. Без конвертации естественно записываются числа, а не символы.
Без конвертации в Char получаем test\string11610111511692116101115116921 16101115116 С конвертацией test\stringtest\test\test
0
|
|
|
0 / 0 / 2
Регистрация: 18.01.2016
Сообщений: 220
|
|
| 17.02.2016, 10:05 [ТС] | |
|
Для простоты добавил на форму. button1 пишет в файл, button2 дозаписывает, button3 расшифровывает. Если нажать 1, а потом 3, все нормально, можно проверить открыв в браузере, тк там html. Если кажать 1 2 3, то первую часть рашифрует, а вторую нет, в этом вся проблема
0
|
|
|
22 / 25 / 11
Регистрация: 10.10.2013
Сообщений: 165
|
|
| 17.02.2016, 20:08 | |
|
frank2, вы шифруете строку ключом длиной 256 байт. При записи первого блока вы начиная с первого байта и до размера данных выполняете xor. Ключевое - начиная с первого. Потом вы записываете другие данные, которые так же подвергаете xor начиная с первого бита ключа. Оно будет нормально работать только если вы будете писать данные блоками, равными длине ключа. Потому что если вы так запишите 4, например, блока по 64 байта, каждый шифруя отдельно, то на выходе будет расшифрован первый, остальные будут расшифрованы неверно. Потому что расшифровка будет происходить не 64-битным ключом, а 256-битным. Выход тут такой, что нужно при дополнении файла дешифровывать исходный, добавлять к нему новые данные и шифровать результат заново целиком.
0
|
|
|
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
|
|
| 17.02.2016, 21:02 | |
|
frank2, нажмите b1, потом очистите все данные с файла и нажмите b2, после дозаписи, попробуйте расшифровать - ничего не выйдет. Так что скорее всего дозапись у вас не корректно пишет в файл
0
|
|
| 17.02.2016, 21:02 | |
|
Помогаю со студенческими работами здесь
9
Дозапись в файл
Дозапись в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|