我的代码块下面应生成随机唯一字符串。是否使用了随机安全的样本方法呢?
def generate_voucher_code_string(length=13):
rand = random.Random()
rand.seed(get_seq(VOUCHER_CODE_SEQ_KEY))
return ''.join(rand.sample(VOUCHER_CODE_CHARS, length))
注意:get_seq方法每次调用时都会返回不同的数字。
答案 0 :(得分:2)
否则随机模块可能会为不同的种子生成相同的输出。其概率取决于所使用的算法。
你可能想要的是uuid
模块,它根据哈希产生RFC 4122个通用唯一标识符。哈希值通常很大,以至于非唯一性的概率可以忽略不计。