使用C#Windows应用程序将数据存储在本地数据库中,并使用户隐藏本地数据库

时间:2016-10-13 19:28:23

标签: c# isolatedstorage local-database

我想创建一个C#windows应用程序并将数据存储在SQL Express(或任何其他本地数据库)等本地数据库中。然后我想让用户直接访问本地数据库,只有Windows应用程序才能访问数据。

换句话说,我需要“隔离存储”功能,但需要在关系数据库中存储大量结构化数据。

2 个答案:

答案 0 :(得分:0)

如果没有更多详细信息,这是一个难以回答的问题,但您可以尝试一些选项:

  • 最简单的方法是在本地安装SQL服务器并使用透明数据加密功能,但这仅在企业版中可用(这意味着价格更高)
  • SQL Server LocalDb无法加密,我相信如果有人可以访问数据库文件,可以轻松绕过其密码保护
  • SQLite数据库可以受密码保护,以避免任何人不知道访问它们的密码
  • 加密SQLite数据库有一些扩展,但大多数都需要许可证。您可以查看this answer了解更多信息

答案 1 :(得分: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