|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
|
Посоветуйте способ "защиты от дурака"15.02.2011, 07:33. Показов 3517. Ответов 14
Метки нет (Все метки)
Здравствуйте, возник такой вопрос.
Нужно сделать программу, которая бы хранила различную информацию в файле формата XML. С возможностями работы с XML в C# вроде разобрася, теперь такая задача - нужно, что бы пользователь не мог просто взять, открыть файл блокнотом и посмотреть содержимое. Можно ли как-то его зашифровать или "испортить"? Что бы например, открывая блокнотом, я видел всякие закорючки, а программа нормально всё из него читала?
0
|
|
| 15.02.2011, 07:33 | |
|
Ответы с готовыми решениями:
14
Способ защиты лицензии программы Метод защиты от дурака Функция защиты от дурака |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 15.02.2011, 07:54 | |
|
Шифр сделать можно, но не проще ли тогда отказаться от xml и зафигачить бинарник? Те же теги вполне могут быть и числовыми и фиг тогда блокнот поможет.
1
|
|
|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
||
| 15.02.2011, 08:00 [ТС] | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 15.02.2011, 08:12 | |
|
Имелось ввиду, что все теги, свойства, и не текстовые значения должны получить явные числовые коды и пиши в файл их. Если защита нужна именно от дурака, то *.DAT лучше шифрованного *.XML в том плане, что сам не запутаешься в ключах и алгоритмах.
Добавлено через 4 минуты Да и в том случае, если встанет задача обмена данными с чужим софтом, можно будет обменяться спецификациями фактических форматов, а то и опубликовать свою спецификацию. Если же шифровать, то открывать ключ и алгоритм чревато блокнотом, который всё прочитает, но юзверь там всё равно нифига не поймёт, а редактировать будет. Бинарник же читается и редактируется только специализированным софтом, что гарантирует валидность всех версий. Добавлено через 1 минуту Но если уж охота сделать шифр, то подмени кодировку. Причём, не на koi8, а на кодировку собственного сочинения.
1
|
|
|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
|
| 15.02.2011, 08:19 [ТС] | |
|
taras atavin, спасибо за информацию, правда про бинарные файлы так и не понял до конца, ни разу так не делал, так что надо будет более подробно разузнать о том, как можно это делать.
Однако, тут всплыла информация, что XML-синтаксис обязателен, значит придётся отталкивать именно от него...
0
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 15.02.2011, 08:52 | |
|
Преобразуйте значения в байт код, и запишите его в виде строки
к примеру 13 - 0D 00 00 00
1
|
|
|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
||
| 15.02.2011, 09:00 [ТС] | ||
|
Konctantin, а можно весь файл xml хранить в виде файла двоичных значений, как вы показали?
И если такое возможно и я не пишу чушь, то есть ли в языке возможности для "кодирования" и "раскодирования" такого файла?
0
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|||||||||||
| 15.02.2011, 09:36 | |||||||||||
|
Стандартных средств нет, но их не сложно реализовать самому.
получить байт код:
1
|
|||||||||||
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||||||
| 15.02.2011, 14:36 | ||||||
|
Вот небольшой пример бинарной сериализации:
Добавлено через 3 минуты А зашифровать данные даже в XML - полно способов. Если размер файла не критичен - можно приводить все данные в байтовое представление и записывать только числа как обычную строку через пробел, а потом обратно. Но есть и на много оптимальные способы.
1
|
||||||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||
| 15.02.2011, 14:46 | ||
Но лучше всего использовать обычное шифрование, и не придумывать велосипед.
1
|
||
|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
||
| 15.02.2011, 14:57 [ТС] | ||
|
Спасибо вам за ответы, кажется мне нужно для начала подучить матчасть...
Никто не подкинет какой-ниюудь материал по сериализации? ![]()
0
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 15.02.2011, 19:06 | |
|
Почитайте, это вам поможет
http://msdn.microsoft.com/ru-r... S.90).aspx
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 15.02.2011, 20:29 | |
|
Хотя бы делать для каждого байта исключающее ИЛИ с каким-то ключем. Думаю, будет достаточно, если надо защитить только от блокнота (от дураков)
1
|
|
|
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
|
|
| 16.02.2011, 07:10 [ТС] | |
|
Спасибо, ребята, вы дали полезную информацию для дальнейшего изученя, решил сделать через исключающее ИЛИ.
0
|
|
| 16.02.2011, 12:42 | |
|
Не по теме: Успеха!
0
|
|
| 16.02.2011, 12:42 | |
|
Помогаю со студенческими работами здесь
15
Реализация защиты ввода от дурака
Способ защиты документа от сохранения Красивый способ защиты базы данных Аксесса! Как и где взять программу для защиты двд видеодиска от копирования. Хоть какой нибудь способ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|