在 Python3 中,对于字符串类型的对象,hash() 函数会根据当前进程的种子值计算哈希值。这个种子值在每次 Python 进程启动时都会随机生成。因此,即使是相同的字符串,在不同的 Python 进程中调用 hash() 函数会得到不同的哈希值。
这种设计的目的是为了增加哈希表的随机性,从而提高安全性和防止哈希碰撞攻击。在 Python 2 中,hash() 函数对于字符串类型的对象会返回相同的哈希值,这可能会导致哈希表的性能和安全性问题。
如果需要在不同的 Python 进程中获取相同的哈希值,可以使用第三方库(如 hashlib)来计算哈希值,或者自定义一个哈希函数,并使用固定的种子值。
标签:hash,函数,Python,字符串,哈希,进程,python3,python2 From: https://www.cnblogs.com/xxxxxxxxjh/p/18136093