如何在Google App Engine中安全地存储外部验证凭证



我正在创建一个使用Google App Engine(Python)进行后端的移动应用程序。用户在应用程序上使用Twitter登录,并且验证令牌和秘密将传递给后端(通过HTTPS),以便服务器可以通过Twitter进行身份验证,并在后台任务中定期同步朋友和关注者。因为它们是由背景线程使用的,所以我想将信息存储在数据存储中,以便以后可以检索并使用它们。

现在,在开发和测试过程中,我只是将它们放在纯文本中。但是,我想通过将其加密并在需要时将其加密并解密来添加更多的安全性。谢谢您的任何帮助!

对于一般帐户密码,我使用

security.generate_password_hash(raw_password, length=12)

基于webapp2_extras如何存储密码。但是这种方法不允许我检索数据。是否有类似的东西可以加密和解密?

通常,对于密码存储,您将使用单向(一种方式)加密技术,以便没有人可以弄清楚密码是什么,然后将用户提供的值并将其比较与存储值。这样,您永远不会真正存储实际的密码,而且偷偷摸摸的可能性较小。

您正在寻找的是双向加密技术,在其中您提供了创建加密值的值和密钥,并可以将密钥应用于加密值以获取原始值。

您尚未说出您正在使用的语言,因此我不能提供一个很好的例子,但是我建议您查看诸如AES之类的技术。请记住,如果您选择具有短键的加密技术,那么蛮力将变得容易得多。任何双向的加密都有易于蛮力的风险,一旦确定了密钥,所有密码都有被解密的风险。大多数语言对AE和类似的加密技术都有某种形式的支持。

有许多可用的技术,一些更新,更安全的技术,请进行一些研究,看看您认为"足够安全"。

在此处阅读更多:http://en.wikipedia.org/wiki/advanced_encryption_standard

最新更新