我刚开始使用C#和SQlite数据库(包含敏感信息)开发一个桌面应用程序,该数据库将安装在任何本地PC上。我想将数据库密码和sql命令存储在安全的地方。我对此有一些疑问:
谢谢。
答案 0 :(得分:0)
你需要问问自己,你正试图保护什么,以及为了什么。您可以在纯客户端安装的应用程序中执行的任何操作(尤其是托管应用程序)都可以轻松破解。加密狗更具防裂性,但如果收益足够大,它们不会阻止经验丰富的破解者,而且它们既昂贵又对用户和经销商来说是一种痛苦。保护应用程序的唯一可靠方法是在您自己的服务器上运行它的敏感部分。在您的情况下,数据库可以驻留在您的服务器上,然后您可以提供个人密码,检查IP地址,限制查询率以阻止抓取等。
OTOH 如果您的唯一目标是保护您的数据库免受技术知识不足的人的随意兴趣,任何数据库加密方案和任何密码存储方案比配置文件中的纯文本更复杂会工作得很好。