我需要在我的 GAE/python2.7 应用程序中实现密码存储。我已经实现了用于授权的 cookie,我已经有一个帐户/用户模型,并且我已经通过 3rd 方进行了身份验证。现在我需要通过密码(客户请求)添加身份验证。
我希望安全地存储密码。我已经确定了几个选项(如下),这似乎是明智的,但我以前从未实现过密码存储,所以我不知道我不知道什么。我宁愿避免一个问题,也不愿等待一个问题。
我的问题是:这是 GAE 的最佳实践吗?如果不是,那是什么?
请注意,我只是在寻找一种在存储之前对密码进行哈希处理并进行比较的方法。我不需要全栈用户模块。
我已经复习了一个有用的问题,但没有直接解决我的问题。
选项:
使用Django。就像是
import django.contrib.auth.hashers as foo to_store_in_db = foo.make_password(conforming_password) # later passes = foo.check_password(entered_password, password_from_db)
(我们目前没有在我们的应用程序中使用 Django,所以我们可以使用我们喜欢的任何一个,但我建议使用 1.4,因为它是 GAE 中最新可用的,不是 'latest' 的移动目标)
使用webapp2_extras.security - 与上面类似,但使用
generate_password_hash() #Seems like it only supports md5/sha1 check_password_hash()
谢谢
汤姆