Как создать криптографически безопасную буквенно-цифровую строку в Python?

Я хотел бы генерировать буквенно-цифровые маркеры аутентификации криптографически безопасным способом на моем сервере флагов Google App Engine. Как я могу это сделать?

Используйте PyCrypto , который реализует криптографически безопасную версию случайного модуля python. Google App Engine предлагает это как библиотеку, которую вы можете включить в проект App Engine, добавив следующее в app.yaml :

 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))