【发布时间】:2017-02-20 17:17:11
【问题描述】:
当 python 内置 hash() 只是有线跨平台时。我有一个应用程序使用内置hash() 为'test'。两个系统都是64位,python 2.7.12
窗口:
>>> hash('test')
1308370872
Linux:
>>> hash('test')
2314058222102390712
这是为什么?
【问题讨论】:
-
使用 hashlib 时,一切正常。是否有任何文档提到了这种差异?
-
您希望它们返回相同的值吗?为什么?在同一系统的不同会话中运行
hash("test")两次,每次返回不同的值。 -
也许一个 python 是 32 位,另一个是 64 位?你可以在 64 位操作系统上运行 python 32 位
-
@donkopotamus nope
-
OP 明确提到他们使用的是 Python 2.7.12。所以欺骗是不相关的,因为它是关于 Python 3.3 的。重新打开问题。
标签: python python-2.7 hash python-internals