2016-10-13 17 views
2

Я хочу создать приложение Windows C# и хранить данные в локальной базе данных, такой как SQL Express (или любой другой локальной БД). Затем я хочу сделать локальную БД недоступной напрямую пользователем, а данные должны быть достигнуты только приложением Windows.Хранить данные в локальной базе данных с помощью приложения C# Windows и сделать локальную БД скрытой от пользователя

Другими словами мне нужно что-то вроде функции «Изолированное хранение», но для хранения большего объема структурированных данных в реляционной базе данных.

+3

Это почти невозможно скрыть что-либо на * своей * машине. В зависимости от БД некоторые из них могут быть зашифрованы для ограничения доступа. – Plutonix

ответ

0

Это сложный вопрос, чтобы полностью ответить без более подробной информации, но есть несколько вариантов для вас попробовать:

  • самый простой маршрут будет установить сервер SQL локально и использовать Transparent функции шифрования данных, но это доступен только в Enterprise Edition (что означает более выгодную лицензию)
  • SQL Server LocalDb не может быть зашифрован, и я считаю, что его защита паролем может быть легко обойдена, если кто-то может получить доступ к файлу базы данных.
  • Базы данных SQLite могут быть защищены паролем избегать любого, не зная пароля acce ssing их
  • Существует некоторое расширение для шифрования базы данных SQLite, но для большинства из них требуется лицензия. Вы можете увидеть this answer для получения дополнительной информации
0

Существует три уровня безопасности, вы можете сделать это, как показано ниже:
1. Добавьте имя пользователя и пароль, чтобы вы DB
2. Большинство встраиваемых Db имеет собственное уровень безопасности
3. использование System.Security.Cryptography для защиты ваших данных

И Существует много вариантов встроенной базы данных для использования:

  1. SQLite Db, у которых есть поставщик ADO.NET
    Вы можете использовать его с SQLCipher - это расширение с открытым исходным кодом для SQLite, которое обеспечивает прозрачное 256-битное шифрование AES файлов базы данных.
  2. LiteDB это с открытым исходным кодом, кросс-платформенный базы данных бессерверной поставляется в одной DLL (менее 200KB) полностью написана на .NET 3.5 C# управляемый код также поддерживается
  3. Firebird это бесплатно, с открытым исходным кодом базы данных и supported by Ado.Net