Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 28.07.2015
Сообщений: 13

Шифрование XML файла

27.08.2015, 19:05. Показов 2770. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Прошу помощи в понимании, где ошибка.
Есть код, который шифрует XML файл и тут же его расшифровывает
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
                byte[] Key = Encoding.Default.GetBytes("key12345678");
                Array.Resize(ref Key, 16);
                RijndaelManaged RMCrypto = new RijndaelManaged();
                //RMCrypto.Mode = CipherMode.ECB;
                RMCrypto.Padding = PaddingMode.Zeros;
                RMCrypto.KeySize = 128;
                RMCrypto.Key = Key;
 
                FileStream fs = new FileStream("settingsENK.xml", FileMode.Create);
 
                ICryptoTransform Encryptor = RMCrypto.CreateEncryptor();
                CryptoStream cs = new CryptoStream(fs, Encryptor, CryptoStreamMode.Write);
                xDoc.Save(cs);
                cs.Flush();
                fs.Flush();
                cs.Dispose();
                fs.Dispose();
 
                FileStream file = new FileStream(filePath,FileMode.Open);
                ICryptoTransform Decryptor = RMCrypto.CreateDecryptor();
                CryptoStream cs1 = new CryptoStream(file, Decryptor, CryptoStreamMode.Read);
                StreamReader srDec = new StreamReader(cs1);
                
                XDocument xDoc1 = XDocument.Load(srDec);
На строке
C#
1
XDocument xDoc1 = XDocument.Load(srDec);
Система выдает ошибку
"Шестнадцатеричное значение 0х00, является недопустимым знаком., строка 59, позиция 12".

Хотя если смотреть srDec.ReadToEnd() то я вижу содержимое своего исходного файла.
Где может быть ошибка, криво зашифровал или еще где?

Добавлено через 3 часа 31 минуту
Путем сравнения исходного и расшифрованного файла, что действительно после расшифровки в конец файла дописываются символы 0x00, вопрос как и в какой момент их можно удалить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.08.2015, 19:05
Ответы с готовыми решениями:

шифрование xml
Пишу тест есть xml файл с ответами. его надо зашифровать чтобы блокнотом он не открывался а сама программа его открывала.Гуглил материала...

Шифрование пароля при сохранении в xml файле
в моей программе можно ввести в текстовые поля login,password,domain. сохраняется всё в отдельном фале xml формата. Далее данная запись...

Шифрование и дешифрование XML в одном и том же файле
Доброго времени суток! Есть рабочий код, шифрующий XML документ. проблема в том что когда происходит шифрование, то шифрованные данные...

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
27.08.2015, 19:16
hamec, ошибка возникает из-за PaddingMode.Zeros. Он добавляет нулевые символы в конце шифруемых данных. И т.к. \0 является запрещенным символом в XML, то ты получаешь исключение. Закоментируй строку №5 и ошибка пропадет.
0
1 / 1 / 0
Регистрация: 28.07.2015
Сообщений: 13
27.08.2015, 19:32  [ТС]
Да, спасибо разобрался.
А будет ли это корректно, если он блоки не будет забивать 0 при шифровании?
Решил, следующим образом, добавил маленький кусочек кода
C#
1
2
3
char[] charsToTrim = { '\0', ' ' };
TextReader tr = new StringReader(srDec.ReadToEnd().ToString().Trim(charsToTrim));
XDocument xDoc1 = XDocument.Load(tr);
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
27.08.2015, 19:43
Цитата Сообщение от hamec Посмотреть сообщение
А будет ли это корректно, если он блоки не будет забивать 0 при шифровании?
По моему да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.08.2015, 19:43
Помогаю со студенческими работами здесь

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

Шифрование XML, используя асимметричный ключ
Есть XML файл <?xml version="1.0"?> <root> <item title = "Математика" /> <quest> <test>Сколько будет 4*5 = ?:</test> ...

Шифрование файла
Всем привет. Есть класс, который шифрует и дешифрует файл. Но проблема с кириллицей, есть ли возможность подключить ее? public...

Шифрование файла
Подскажите пожалуйста как надежно зашифровать от пользователя важную информацию в файле (логины, пароли)

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru