使用Python的secrets模块来生成随机字符串
可以使用secrets模块中的secrets.token_hex(nbytes)或者secrets.token_urlsafe(nbytes)函数来生成随机字符串。
secrets.token_hex(nbytes)函数会生成一个包含nbytes个随机十六进制数的字符串,而secrets.token_urlsafe(nbytes)函数会生成一个包含nbytes个URL安全的随机字符的字符串。
例如,要生成一个包含32个随机字符的字符串,可以这样做:
import secrets # 生成一个包含32个随机十六进制数的字符串 random_hex = secrets.token_hex(16) print(random_hex) # 生成一个包含32个URL安全字符的字符串 random_urlsafe = secrets.token_urlsafe(32) print(random_urlsafe)
输出:
f5e0ecb1cfcb0f5e5d2cbdb9d9f8c7f5 vZwF7cGrbP-n8YjLq3vAze-s7vxSSm1X8H7s-tfZMHg
需要注意的是,nbytes参数指定了生成的随机字符串的长度,而不是字符数。由于secrets.token_hex()生成的是十六进制数,因此生成的字符串长度是nbytes*2,而secrets.token_urlsafe()生成的是URL安全字符,因此生成的字符串长度可能会稍微大于nbytes。
相关文章