支持多个解密密钥的Python加密方案
有没有一个Python库可以支持数据的(对称)加密,并且可以使用多个解密密钥?
我有一些(敏感的)用户数据需要加密存储在数据库里,但我希望多个第三方可以访问这些数据,而不需要把所有的秘密都给他们。
这个可以通过生成一个随机密钥K来实现,先把原始数据D加密成D_K。然后用需要的访问密钥(ak_1到ak_n)来加密K,存起来以备后用,然后销毁K。每当第三方想要访问D时,他们提交ak_i,我就用这个密钥解密K,再用K解密D_K,得到D。
不过,如果有现成的实现就好了,因为a)我不想重新发明轮子,b)这涉及安全问题,可能很难做到百分之百正确。
1 个回答
0
由于关于强加密的出口控制问题比较复杂,所以市面上没有很多第三方库可以直接提供这种高级的加密方案。
大多数情况下,你需要自己在像 PyCrypto 这样的工具上加上一些自己的密钥逻辑。不过,既然我们在讨论加密,我也不能不提一下 Python中其他一些低级别的强加密工具库。