如果您正在加密只需要验证(不记得)的字段,则使用SHA或使用DES进行单向加密的简单散列,或使用盐对IDEA进行加密,以防止彩虹表实际显示它们.这对密码或其他访问秘密很有用.
Python和webapps让我想到了GAE,所以你可能会想要一些没有对每个DB事务进行加密/解密的东西,因为这些在GAE上已经不便宜了.
加密数据库的最佳做法是用用户自己的密码对字段进行加密,但是包括加密用户密钥的不对称后门,所以您(而不是任何可以访问数据库源文件或表的人)都可以解密用户密钥与您的秘密密钥,应该恢复或其他需要的东西.
在这种情况下,用户(或您或受信任的委托人)只能退出并解密自己的信息.如果您认为您需要通过加密来保护其领域,则可能希望更加严格地验证用户的秘密.
在这方面,一些秘密词的密码(相对于密码),如“丛林中强大的丛林”,是鼓励的好习惯.
编辑:刚刚看到你的更新.存储OAuth的最好方法是给他们一个短暂的生命周期,只需要你需要的资源,并重新请求他们获得长的令牌.最好设计周围的认证,让您的访问和离开,而不是把钥匙放在后门下10年.
既然,如果您在用户上线时需要调用OAuth,则可以按照上述方式进行操作,并使用用户特定的密码进行加密.您也可以使用加密计数器(用用户密码加密)的密钥,以便每个事务处理实际的加密密钥更改,计数器以明文形式存储.但在使用前请检查此模式的具体密码算法讨论.一些算法可能不会很好的.