我使用以下代码段生成随机字符
char_set = string.ascii_letters + string.digits
Randomno=''.join(random.sample(char_set*10,9))
答案 0 :(得分:3)
唯一值的总数应为62 ^ 9(1.3537087e + 16)
符号数量^长度。
"用于无需替换的随机抽样"所以我以前的数学是不正确的,因为字符不能在给定的样本中重复。
匹配任何序列的机会在62 ^ 9次运行后是100%,匹配特定序列的机会倾向于,但是当运行次数增加时从未达到100%,因为您永远不能保证获得任何特定序列序列
从评论中添加我的想法:
随机使用marsenne twister:http://en.wikipedia.org/wiki/Mersenne_Twister,根据其wiki页面非常强大。 http://docs.python.org/3.1/library/random.html根据文档随机不应用于加密目的。这是有道理的,因为MT是完全确定性的并且给出初始参数并且看到可以再现相同的序列。