python无法打开加密文件_python中的加密文件或db

我也有同样的问题。我的应用程序可能同时运行多个实例。因此,我不能只加密sqlite db文件并对其进行处理。我也不认为用python加密数据是一个好主意,因为在这种状态下,您不能在数据库中进行任何认真的数据操作。

考虑到这些限制,我提出了以下两个解决方案:

1)使用前面提到的SQLCipher。我在这里看到的问题是,我必须为Python编写自己的绑定,然后自己编译它(或者支付费用)。在这两种情况下,我都可以这样做,因为这对于其他Python开发人员来说是一个很好的解决方案。如果我成功了,我会发回解决方案。

2)如果选项1对我来说太难,或太耗时,我将使用此方法。这种方法没有那么安全。我将使用pycrypto加密数据库文件。我将实现一个SQL“服务器”,它将解密数据库文件,然后处理来自不同客户端的请求。当没有未完成的请求时,它将重新加密数据库。总的来说,这将更慢,并使数据库处于临时解密状态。

希望这些想法能帮助下一个人。

编辑2013年1月13日

我放弃了SQLCipher,因为我似乎无法编译它,而代码库正试图使用OpenSSL,虽然它是一个声音库,但对于简单的AES 128来说,它相当庞大。

我找到了另一个选项wxSQLite3,并找到了如何只分离SQLite加密片段:https://github.com/shenghe/FreeSQLiteEncryption。我可以让它编译并运行(使用最新版本的SQLite3)。wxSQLite3还支持AES 256,这真的很酷。我的下一步是尝试用修改后的sqlite3.dll编译pysqlite(python内置的sqlite库)。如果可以,我将调整pysqlite以支持wxSQLite3的sqlite3.dll的扩展加密部分。无论如何,我会尝试用我的结果更新这个线程,如果成功的话,我会在Github上发布最终的代码库和构建指令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值