有Python大佬知道有什么随机性较大的函数吗?

有Python大佬知道有什么随机性较大的函数吗?

· json · rss
Subscribe:

About

这里面大家产生了一个误会,是由于python版本更新导致的。

其实python有三种伪随机数生成函数,但是被包装成了同一个函数。

新的伪随机函数调用的是sha512。而sha512是在密码学意义上的伪随机函数,这个概念是比一般上的统计随机要强很多的概念。

但是旧的python伪随机函数,使用的是取自c的取模伪随机函数。

既经典的Ri=a*R_i-1+k mod N

然后这种伪随机函数的随机性很大程度上依靠种子。如果种子被刻意构造的话,就可以实现在前100或者更大范围内生成的随机数有很强的偏差,且如果得知两个随机数即可预测之后的随机数,很不安全。

你可以在random.seed里面设置version版本,如果设置为1的话,就是古老版本的伪随机生成函数。如果设置为2或者3的话,就是新版本的伪随机生成函数。