我想在我的Google应用引擎Flask服务器上以加密安全的方式生成字母数字身份验证令牌。我该怎么做呢?
最佳答案
使用PyCrypto,它实现了python随机模块的加密安全版本。Google App Engine将其作为库提供,您可以通过将以下内容添加到app.yaml
,将其包含在App Engine项目中:
libraries:
- name: pycrypto
version: "2.6"
PyCrypto也可以作为python库在GAE之外使用。
然后,您可以使用
from Crypto.Random import random
def generate_auth_token():
""" Generate a 32-char alnum string. 190 bits of entropy. """
alnum = ''.join(c for c in map(chr, range(256)) if c.isalnum())
return ''.join(random.choice(alnum) for _ in range(32))