Python random.getrandbits(k)
random.getrandbits(k)
返回带有 k 位随机的Python整数。 此方法随 MersenneTwister 生成器一起提供,其他一些生成器也可以将其作为API的可选部分提供。
如果可用,getrandbits() 启用 randrange() 来处理任意大范围。
在 3.9 版更改: 此方法现在接受零作为 k 的值。
实际输出的是k位二进制数转换成的十进制数
代码实例
Python 3.9.0 (default, Oct 18 2020, 18:30:26)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> result = random.getrandbits(random.randrange(8))
>>> print(result)
38
>>> result = random.getrandbits(0)
>>> print(result)
0
可用于生成WebSocket协议的Sec-WebSocket-Key
import random
import base64
bytes_keys = bytes(random.getrandbits(8) for _ in range(16))
sec_websocket_key = base64.b64encode(bytes_keys).decode()
print(sec_websocket_key)
输出结果:/WGhTRIZA/DHXeH/T46x5g==