1

任何人都可以建议我在 python 中使用一个独特的随机字符串生成器。
我之前使用过 uuid.uuid1() ,这并不好,因为它在不同的操作系统中显示出一些不规则性。您需要在项目中的所有包之前导入 uuid 以实现无问题工作,这不是一个好习惯。
我还听说过使用 /dev/random 的os.urandom(n) 。它的熵足够好吗?我不确定。
在我的过程中,我无法承受字符串的冲突。
有没有其他方法可以帮助我?

4

1 回答 1

7

randomstring模块呢?

>>> 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 回答