我一直致力于开发这种分析工具,以帮助解释和分析捆绑在包中的数据库.对我们来说,以只能使用我们的软件访问的方式保护数据库非常重要.在
Python中实现它的最佳方法是什么?
我知道可能没有确定的解决方案,但威慑是真正重要的.
非常感谢你.
最佳答案 这个问题大约每月一次在SQLite用户邮件列表中出现.
无论你做多少加密等,如果数据库在客户端机器上,那么解密的密钥也将在某个时刻在机器上.攻击者将能够获取该密钥,因为它是他们的计算机.
看待这个问题的一个更好的方法就是赚钱 – 为了获取数据,坏人需要花多少钱.这通常最多只需几百美元.只需要任何一个人获得密钥,他们就可以为每个人发布数据库.
因此要么选择Donal提到的Web服务,要么只花几分钟来模糊数据库.例如,如果您使用APSW,那么您可以在几行中编写一个VFS来对数据库内容进行异或,这样常规SQLite就不会打开它,文件查看器也不会显示正常的SQLite标题. (APSW中有示例代码,显示了如何执行此操作.)
因此,任何拥有数据库内容的人都必须知情.