Python 3.6 的哈希工具里,mmh3 模块还挺实用的。压缩包里两个文件——mmh3.cp36-win_amd64.pyd
和mmh3-2.0-py3.6.egg-info
,直接丢进C:\Python36\Lib\site-packages\
目录就能用了,省事多了。
模块用起来也挺,导入后一个mmh3.hash('Hello')
就能拿到哈希值。速度快、分布还均匀,搞数据去重或者当哈希键用合适。
hash()函数是最常用的,支持字符串、整数这些基本类型,参数signed=False
就能返回个正数。想要字节就用hash_bytes()
,批量可以用hash_array()
。想得周到,接口也不复杂。
它用的 MurmurHash3 算法不是加密的,但碰撞少、速度快,适合分布式系统、缓存键、索引啥的。性能比md5
和sha1
这种要好,在你不需要安全性的时候,嗯,还挺香的。
如果你正好在用 Python 3.6,又不想折腾编译器,那直接用这个模块也不错。记得看下系统架构是不是win_amd64
,别下错了版本。