Skip to content

Instantly share code, notes, and snippets.

@fengjing
Forked from wonderbeyond/get_guid.py
Created August 2, 2024 07:56
Show Gist options
  • Save fengjing/d634c0f9fd02c34f00433e4f45b7f740 to your computer and use it in GitHub Desktop.
Save fengjing/d634c0f9fd02c34f00433e4f45b7f740 to your computer and use it in GitHub Desktop.
Get a secret random string in python(Refer to django.utils.crypto.get_random_string)
import random
import hashlib
import time
def get_random_string(length=12,
allowed_chars='abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'):
"""
See also:
https://github.com/rs/xid (globally unique id generator)
https://stackoverflow.com/questions/41354205/how-to-generate-a-unique-auth-token-in-python
"""
random.seed(
hashlib.sha256(
("%s%s%s" % (
random.getstate(),
time.time(),
'O_O-SECRET_KEY')).encode('utf-8')
).digest())
return ''.join(random.choice(allowed_chars) for i in range(length))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment