任何人都可以建议我在 python 中使用一个独特的随机字符串生成器。
我之前使用过 uuid.uuid1() ,这并不好,因为它在不同的操作系统中显示出一些不规则性。您需要在项目中的所有包之前导入 uuid 以实现无问题工作,这不是一个好习惯。
我还听说过使用 /dev/random 的os.urandom(n) 。它的熵足够好吗?我不确定。
在我的过程中,我无法承受字符串的冲突。
有没有其他方法可以帮助我?
问问题
3860 次
1 回答
7
>>> import string
>>> import random
>>> ''.join(random.sample(string.letters*5,5))
'QcQxx'
解释:
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
我将它乘以 5,所以它可以更加随机。数字越高,您获得的副本就越多。
random.sample(k, n)
从 中返回n
随机元素string.letters
,但将其作为列表返回。
''.join()
被调用以将列表加入一个简单的字符串。
于 2013-06-06T12:56:29.783 回答