Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net代码中提供SQLITE加密密码的最佳方法_Vb.net_Sqlite_Security_Encryption_Passwords - Fatal编程技术网

在vb.net代码中提供SQLITE加密密码的最佳方法

在vb.net代码中提供SQLITE加密密码的最佳方法,vb.net,sqlite,security,encryption,passwords,Vb.net,Sqlite,Security,Encryption,Passwords,原则上,很容易加密sqlite文件,stackoverflow和我的其他网站上提供了vb.net和其他语言的代码示例。所有方法(至少我发现的)都将密码硬编码到源代码中,然后在查询期间提交给sqlite连接器 我很好奇,这是否是做这件事的最佳实践。我可以想象,从编译的二进制文件中提取这个密码是非常容易的。谢谢你的提示。加密不能解决问题,它会转移问题。你有一个要保护的明文。你用一个秘密加密。现在你有了一个你想要保护的秘密。你用它做什么?加密?你已经做过一次了。当你再次这样做时,它会改变什么吗 另一方

原则上,很容易加密sqlite文件,stackoverflow和我的其他网站上提供了vb.net和其他语言的代码示例。所有方法(至少我发现的)都将密码硬编码到源代码中,然后在查询期间提交给sqlite连接器

我很好奇,这是否是做这件事的最佳实践。我可以想象,从编译的二进制文件中提取这个密码是非常容易的。谢谢你的提示。

加密不能解决问题,它会转移问题。你有一个要保护的明文。你用一个秘密加密。现在你有了一个你想要保护的秘密。你用它做什么?加密?你已经做过一次了。当你再次这样做时,它会改变什么吗

另一方面,在二进制文件中保存秘密可能是错误的方法,因为这通常意味着在存储库的源代码中也保存秘密。这会增加应用程序的攻击面,这通常是我们想要避免的。那秘密藏在哪里呢?下一个最好的选择是在需要的地方保存秘密——在执行二进制文件的服务器上(并且仅在服务器上)。这种方法还遵循您希望将配置保存在环境中的位置的规则

让应用程序在技术用户的指导下运行。将所有机密放入受文件系统访问权限保护的文件中,这样只有技术用户才能读取它们。这是您在二十一世纪不需要额外硬件令牌支持就可以获得的最佳性能。当应用程序启动时,像魔术一样的手动秘密输入对任何人来说都是不切实际的