我正在为Windows编写C#(WPF)应用程序。我需要为这个应用程序存储数据(我想是在数据库中)。但我需要保护这些数据(不受修改)。我计划分发这个应用程序,所以文件系统保护不适合这种情况。我也想使用NoSql数据库。我的问题是,哪一个NoSQL数据库支持数据保护,并且可以像嵌入应用程序数据库一样以最小的工作量安装?
Upd:那么,对于可重新分发的WPF应用程序,没有安全性的单用户NoSQL DB哪个更好?
当数据在用户硬盘上时,没有办法阻止用户访问它。
以一种模糊的格式存储它,比如一些不常见的数据库,不会让它变得更难。即使加密数据库也不是一道不可逾越的障碍。您需要将解密密钥存储在应用程序中的某个位置,确定的黑客在搜索足够长的时间时会在那里找到它。
当你真的想保护你的数据时,没有办法把它存储在你自己的服务器上,让程序通过互联网访问它。我建议使用网络服务。
当然,这对你来说意味着一些额外的成本,因为你必须为服务器付费。但你也可以获得一些额外的福利:
- 您可以为每个用户提供自己的用户名和密码。这使得盗版你的产品变得更加困难(使用相同用户名的不同网络的IP太多=可能是软件盗版)
- 更新数据库不需要在用户计算机上进行任何部署
- 你可以在你的营销材料上写上"云":)