
How to generate a secure token, password, or random string in Python (with secrets module)
This code is an example to generate a random string for secure tokens.
import secrets
import string
def gen_rand_str(n: int):
if n < 1:
return ''
a = string.digits + string.ascii_letters + string.punctuation
s = ''
for i in range(n):
s = s + secrets.choice(a)
return s
r = gen_rand_str(24)
print(r) # +HqzKJ"a:"Ui}=R2m3%@}W'Q
Since Python 3.6., secrets
module has been used to generate random strings. string.punctuation
is a set of symbols so if you remove that, a generated string has only alphanumeric letters.
Comments
Powered by Markdown