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