如何解决在vb.net代码中提供SQLITE加密密码的最佳方法
原则上,很容易加密sqlite文件,并且在stackoverflow和我的其他站点上提供了vb.net和其他语言的代码示例。所有方法(至少我发现的方法)都将密码硬编码到源代码中,然后在查询期间提交给sqlite连接器。
我很好奇,如果这实际上是这样做的最佳实践。我可以想象,很容易从编译的二进制文件中提取此密码。感谢您的提示。
解决方法
加密不会解决问题,它会转移问题。您有一个要保护的纯文本。您用秘密加密。现在,您有了一个要保护的秘密。你用它做什么?加密?您已经做过一次。再次执行时,它会改变任何东西吗?
另一方面,将机密信息保存在二进制文件中可能是错误的方法,因为它通常意味着您还将机密信息保存在存储库的源代码中。这增加了应用程序的攻击面,通常是我们要避免的事情。那秘密在哪里呢?第二个最佳选择是将机密信息保存在需要的地方-在执行二进制文件的服务器上(并且仅在服务器上)执行。这种方法还遵循Twelve-Factor App的规则,您希望在其中将配置保留在环境中。
使该应用程序在技术用户下运行。将所有机密信息放入受文件系统访问权限保护的文件中,以便只有技术用户才能读取它们。这是XXI世纪在没有其他硬件令牌支持的情况下可以得到的最好的结果。启动应用程序时,像手动机密输入这样的魔术对任何人来说都是不切实际的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。