2
我需要加密存储在web2py中的数据,更确切地说是密码。在web2py中加密存储数据的最佳方式是什么?
这不是关于认证,而是类似于KeePass的应用程序中的更多内容。
我已经看到这是包含在web2py,但M2Secret可以很容易地做到这一点。随着M2Secret我可以用这个:
import m2secret # Encrypt secret = m2secret.Secret() secret.encrypt('my data', 'my master password') serialized = secret.serialize() # Decrypt secret = m2secret.Secret() secret.deserialize(serialized) data = secret.decrypt('my master password')
但我必须包括在我的设备中的M2Crypto库。
有没有办法做到这一点PyMe已经包含在web2py中?
感谢Massimo,这会让我走向正确的方向。 – Cyann 2010-11-04 13:07:47
请注意,我需要使用可逆加密存储数据,因为应用程序的目标是分发存储的密码。我担心的是对数据库的离线攻击,这就是为什么我要加密数据。但我会看看PyMe中提供的公钥算法,以避免在web2py中添加依赖关系。 – Cyann 2010-11-04 13:17:20
您可能需要考虑将数据库存储在加密文件系统中(可能位于文件中)。如果最好将加密责任交给操作系统而不是应用程序,因为如果第一个可能会在攻击情况下受到损害,那么后者应该是加密责任。 – mdipierro 2010-11-04 13:24:16