【发布时间】:2014-06-22 07:58:44
【问题描述】:
我找到了一个似乎很容易使用的python bcrypt库:
在我的本地机器上安装并测试 hello world 示例后一切似乎都很好:
>>> import bcrypt
>>> password = b"super secret password"
>>> # Hash a password for the first time, with a certain number of rounds
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt(10))
>>> # Check that a unhashed password matches one that has previously been
>>> # hashed
>>> if bcrypt.hashpw(password, hashed) == hashed:
... print("It Matches!")
... else:
... print("It Does not Match :(")
但是,在我的 GAE 应用程序中,当我使用 import bcrypt 时出现错误:
Traceback (most recent call last):
File "/home/pedro/google_appengine/google/appengine/runtime/wsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/pedro/google_appengine/google/appengine/runtime/wsgi.py", line 298, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/pedro/google_appengine/google/appengine/runtime/wsgi.py", line 84, in LoadObject
obj = __import__(path[0])
File "/home/pedro/google_appengine/hw4/blog.py", line 8, in <module>
import bcrypt
ImportError: No module named bcrypt
INFO 2014-05-05 21:17:04,375 module.py:639] default: "GET /blog/signup HTTP/1.1" 500 -
这让我相信我必须更改 app.yaml 文件以包含此库:
application: calm-grid-571
version: 1
runtime: python27
api_version: 1
threadsafe: False
handlers:
- url: /static
static_dir: static
- url: /.*
script: blog.app
libraries:
- name: jinja2
version: latest
- name: PIL
version: latest
但是,在查看受支持库的官方页面时,我找不到任何关于 bcrypt 的信息。
那么,如何在 GAE 中使用 bcrypt 库?有没有可能?
【问题讨论】:
-
将源代码放在您的文件夹中是一种方法。
标签: python google-app-engine password-protection bcrypt