【问题标题】:Python - how to create a random string 8 bytes long? [duplicate]Python - 如何创建一个 8 字节长的随机字符串? [复制]
【发布时间】:2025-12-16 10:10:02
【问题描述】:

可能重复:
python random string generation with upper case letters and digits

我需要在 python 中创建一个 8 字节长的随机字符串。

rand_string = ?

我该怎么做?

谢谢

【问题讨论】:

标签: python


【解决方案1】:

os.urandom 正好提供了这个接口。

如果你想使用random 模块(为了确定性随机性,或者因为平台碰巧没有实现os.urandom),你必须自己构造函数:

import random
def randomBytes(n):
    return bytearray(random.getrandbits(8) for i in range(n))

在 Python 3.x 中,您可以仅将 bytearray 替换为 bytes,但在大多数情况下,bytearray 的行为应该类似于 bytes 对象。

【讨论】:

    【解决方案2】:
    import os
    rand_string = os.urandom(8)
    

    将创建一个 8 个字符长的随机字符串。

    【讨论】:

    • 不,它会创建一个 8 字节长的字符串。 “字符”是一个解释问题。
    最近更新 更多