1

我需要生成一些只能包含一系列字符的令牌,[a-zA-Z0-9_]

我正在尝试使用binascii.b2a_base64(os.urandom(64)),它具有其他字符,例如 + 并且正在引起问题。

/dev/urandom(我在 linux 上)的范围是多少,这样我就可以自己将输出整数统一映射到一个值。

4

2 回答 2

4

它生成字节,因此包括 0x00 到 0xFF。

于 2012-06-21T21:31:17.580 回答
1

/dev/urandom只是提供随机字节。您读取的每个字节都在 to 范围内0255希望是均匀分布的。

处理当前问题的一种简单方法是过滤掉+and=字符。在外壳中它会是... | tr -d += | .... 我不知道最 Pythonic 的方法,但这似乎有效:

>>> import re
>>> re.sub(r'\+|=', '', "abcdef+=")
'abcdef'
于 2012-06-21T21:36:05.707 回答