check_password_hash
的执行时间比预期的要长得多。使用 Werkzeug 0.12 和 0.9 进行测试,检查一个密码需要约 2 秒钟。为什么会这么慢呢?
该项目使用 GAE - Google 应用引擎,并且已部署在 GAE 上。不确定 GAE 是否具有可以覆盖已安装库的 werkzeug 库。我使用的是 GAE SDK 版本 1.9.50。
def verify_password(self, password):
logging.info(self.password_hash)
logging.info(str(datetime.now()))
result = check_password_hash(self.password_hash, password)
logging.info(str(datetime.now()))
return result
hash:pbkdf2:sha256:......................................
2017-07-28 13:52:14.904270
2017-07-28 13:52:17.041060
================= 编辑 1 ============ 好的,看起来我的库文件夹并没有完全清除。我尝试过多次,将 Werkzeug==0.9.6 升级到 Werkzeug==0.12 可以解决这个问题。降级到0.9.6会再次出现这个问题。
这只是在我的机器上解决了问题。在GAE服务器上仍然存在延迟。
================= 编辑 2 ============ 创建了一个非常简单的项目后,再次进行测试,在GAE上的行为与之前相同。然后我发现我的数据库中有两种密码类型:一种是sha1,另一种是sha256。那些使用sha1的密码在GAE上也可以快速工作。