如何在Python中生成加密安全的字母数字字符串?

时间:2015-10-17 21:10:32

标签: python security google-app-engine authentication

我想在我的Google App Engine Flask服务器上以加密安全的方式生成字母数字身份验证令牌。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

使用PyCrypto,它实现了python随机模块的加密安全版本。 Google App Engine通过将以下内容添加到app.yaml,将此作为您可以包含在App Engine项目中的库提供:

libraries:
- name: pycrypto
  version: "2.6"

PyCrypto也可以在GAE之外作为python库使用。

然后,您可以使用

生成一个32个字符的字母数字字符串
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))