首页 > 解决方案 > 在 Python 中生成随机种子

问题描述

有没有办法生成随机种子?像这样的东西:

def random_seed(length)

输出示例:

3273650411015667511766

或者有没有办法同时做数字和字母?输出示例:

ryf65s4d4s6df54s6y4fs6f5b4y6s4fy

标签: pythonpython-3.xrandom-seed

解决方案


您可以使用os.urandom. 它让您指定要生成的随机字节数。当然,您可以将这些字节转换/解释为您喜欢的任何内容(整数、字符、...)。例如:

>>> import os
>>> os.urandom(16)
b'-\xca(\xd2\xf7 \xe3:\x8fj\x19#\xe0-\xb8X'

os.urandom将使用操作系统的随机源(例如传感器值等)。如果您在random.seed()没有参数的情况下调用它,它也会回退到操作系统随机性(如果可用),否则返回当前系统时间。

解释字节的可能方法:

>>> int.from_bytes(os.urandom(16), 'big')
305697826269747251034239012950993064203

推荐阅读