App Engine:传输密码并将其安全地存储在Google App Engine中的最佳做法是什么?

znq*_*znq 8 security passwords google-app-engine

我想知道从Web表单传输密码并将其存储在数据存储中的最新技术是什么.

最近很多帖子都指向bcrypt,但是,没有纯Python实现,这是App Engine的要求.

有什么建议?

Nic*_*son 9

最佳实践?将Users API与Google帐户或OpenID一起使用,因此您不会首先存储或传输密码.

如果您必须自己执行此操作,请通过SSL传输登录数据,并使用PBKDF2等方案存储散列,加密和强化的密码.

  • 对对对.@znq,你真的应该考虑是否真的值得重新发明一个已经如此精美圆形的轮子. (3认同)
  • 对于许多应用程序,要求用户拥有Google帐户是不合理的,并且OpenID仍然在GAE文档中标记为"实验性". (2认同)

Kla*_*sen 8

您可以使用已移植到google-app-engine的PyCrypto.

当然,你永远不应该存储实际的密码.存储哈希应该就足够了.当用户输入密码时,您再次对其进行哈希处理并将其与存储的值进行比较.

您当然只应通过https接收密码,这在google-app-engine中受支持(尽管只能通过您的appspot域)