【发布时间】:2014-06-09 06:29:40
【问题描述】:
在 64 位 Python 2.7.6 中这是 True,但在 32 位 Python 2.7.3 中是 False:
random.Random(hash("a")).random() == random.Random("a").random()
那么 Python 2.7.3 如何使用散列字符串作为随机数生成器的种子?
【问题讨论】:
-
Python 是开源的 - 你可以阅读代码。
-
另外,也可以在 32 位 Python 2.7.6 和 64 位 Python 2.7.3 中尝试以缩小 2.7.3 和 2.7.6 或 32 之间的差异位和 64 位。这是什么操作系统?
-
我怀疑它在平台和构建架构之间以及特定字符串之间都有所不同。假设 Python 的
hash分布良好,它应该适用于您尝试使用的大约一半的对象,并且有一半会失败。
标签: python python-2.7 random