哪些平台提供SystemRandom?
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
错误。