As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center作为指导。
7年前关闭。
我正在Windows的C#(WPF)上编写应用程序。我需要为此应用程序(在数据库中)存储数据。但是我需要保护此数据(来自修改)。我打算分发此应用程序,因此文件系统保护不适合这种情况。我也想使用NoSql数据库。我的问题是哪个NoSQL数据库支持数据保护,并且可以像嵌入应用程序数据库中一样轻松地安装?
Upd:那么,对于可再分发的WPF应用程序,单用户NoSQL DB,无安全性更好?
7年前关闭。
我正在Windows的C#(WPF)上编写应用程序。我需要为此应用程序(在数据库中)存储数据。但是我需要保护此数据(来自修改)。我打算分发此应用程序,因此文件系统保护不适合这种情况。我也想使用NoSql数据库。我的问题是哪个NoSQL数据库支持数据保护,并且可以像嵌入应用程序数据库中一样轻松地安装?
Upd:那么,对于可再分发的WPF应用程序,单用户NoSQL DB,无安全性更好?
最佳答案
当数据位于用户硬盘驱动器上时,将无法阻止用户访问数据。
以晦涩的格式(例如某些不常见的数据库)存储它不会使它变得更加困难。即使对数据库进行加密也不是不可克服的障碍。您需要将解密密钥存储在应用程序内部的某个位置,当确定的黑客在搜索它足够长的时间时会在其中找到它。
当您确实要保护数据时,就无法将其存储在您自己的服务器上并让程序通过Internet对其进行访问。我建议为此使用Web服务。
当然,这将为您带来一些额外的费用,因为您必须购买服务器。但是,您还可以得到一些额外的好处:
您可以为每个用户提供自己的用户名和密码。这使盗版产品变得更加困难(使用相同用户名的来自不同网络的IP过多=可能是软件盗版)
更新数据库不需要在用户计算机上进行任何部署
您可以在所有营销材料中写下“云” :)