Windows формы asp.net - лучшее место для сохранения данных приложения - PullRequest
0 голосов
/ 18 ноября 2009

Для Windows. Forms у меня есть приложение, которое должно получать уникальный идентификатор установки для каждой установки с моего сервера, а затем сохранять эти данные, поэтому после регистрации идентификатор установки включается во все сообщения обратно на сервер. Приложение случайно контактирует с сервером.

Как я могу сохранить эти данные на клиенте способом, который нелегко подделать?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2017

Вы можете сохранить данные в реестре Windows. Вы будете использовать клавишу куста [HKCU \ Software \ YourAppName], если это настройка для каждого пользователя, или [HKLM \ Software \ YourCompany], если это глобальная настройка. Однако данные должны были бы быть зашифрованы, потому что его тривила для получения значений в этих ключах

0 голосов
/ 18 ноября 2009

Во-первых, вы должны заметить, что если данные находятся в локальной файловой системе, и ваше приложение может их читать и записывать, то определенный пользователь всегда сможет их изменить ... возможно, не легко, но тем не менее возможно .

Тем не менее, есть несколько вариантов, которые вы можете рассмотреть, включая (но не ограничиваясь):

  • шифрование данных с помощью ключа, определенного в вашей сборке: довольно безопасно, если у пользователя нет навыков программирования, но опытный пользователь может разобрать ваше приложение, чтобы найти ключ. Запутывание может усложнить извлечение ключа, но не невозможное.
  • с использованием изолированного хранилища : я не уверен, зашифрованы ли данные или нет, но, по крайней мере, их нелегко найти, спрятать в глубокой иерархии папок ... Не так безопасно для пользователя однако знает, где искать
  • запись данных в двоичном формате, что затрудняет чтение или изменение для неопытного пользователя
  • использование части собственного кода для шифрования данных: аналогично первому варианту, но собственную DLL сложнее разобрать, чем сборку .NET, поэтому для поиска ключа требуется больше навыков

Опять же, все эти подходы не являются пуленепробиваемыми: если ваша программа может получить доступ к данным, опытный пользователь всегда может выполнить обратный инжиниринг и сделать то же самое ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...