哪些平台提供SystemRandom?

5 投票
1 回答
1673 浏览
提问于 2025-04-16 18:51

Python里的 random.SystemRandom 可以生成高质量的伪随机数,适合用在需要安全性的地方,比如加密。那它支持哪些平台呢?最重要的是,有没有不支持的地方,如果有的话,具体是哪些?有没有人能分享一下它的可移植性怎么样?

1 个回答

4

来自 http://docs.python.org/library/random.html

随机模块还提供了一个叫 SystemRandom 的类,它使用系统的 os.urandom() 函数来生成随机数,这些随机数的来源是操作系统提供的。

来自 http://docs.python.org/library/os.html#os.urandom

这个函数会从操作系统特定的随机源返回随机字节。返回的数据应该足够不可预测,适合用在加密应用中,不过它的具体质量取决于操作系统的实现。在类UNIX系统中,它会查询 /dev/urandom,而在Windows系统中,它会使用 CryptGenRandom。如果找不到随机源,就会抛出 NotImplementedError 错误。

撰写回答