栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

这是对python内置哈希函数的适当使用吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

这是对python内置哈希函数的适当使用吗?

Python的哈希函数专为提高速度而设计,并映射到64位空间中。由于生日悖论,这意味着您可能会在大约50亿个条目上发生冲突(可能更早了,因为哈希函数不是加密的)。另外,的确切定义

hash
取决于Python的实现,并且可能是特定于体系结构的,甚至是特定于机器的。如果您希望在多台计算机上获得相同的结果,请不要使用它。

md5被设计为加密哈希函数;输入中即使有轻微的扰动也会完全改变输出。它还映射到一个128位的空间,这使您几乎不可能遇到碰撞,除非您专门寻找一个碰撞。

如果您可以处理冲突(例如,可以通过使用MD5或SHA2等加密算法来测试存储桶中所有成员之间的相等性),那么Python的哈希函数就可以了。

还有一件事:为了节省空间,如果将数据写入磁盘,则应以二进制形式存储数据。(即

struct.pack('!q', hash('abc'))
/
hashlib.md5('abc').digest()
)。

附带说明:is与

==
Python不等效。你是说
==



转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/640315.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号