Python中Hash值计算的学习笔记
Posted songyuc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中Hash值计算的学习笔记相关的知识,希望对你有一定的参考价值。
对于Hash算法的介绍,我们引用博文《Hash算法(含python实现) - yucen》中的介绍:
哈希(hash)也翻译作散列。Hash算法,是将一个不定长的输入,通过散列函数变换成一个定长的输出,即散列值。
这种散列变换是一种单向运算,具有不可逆性即不能根据散列值还原出输入信息,因此严格意义上讲Hash算法是一种消息摘要算法,不是一种加密算法。常见的hash算法有:SM3、MD5、SHA-1等。
其中,Hash算法的不可逆性是由于输入值的无穷性而散列值的有限性导致的;
在python中使用hash()
会出现下面的现象:
相同字符串在同一次运行时的哈希值是相同的,但是不同次运行的哈希值不同。因此当需要做可重现可跨进程保持一致性的hash,需要用到hashlib模块。
(引用自引用博文《Hash算法(含python实现) - yucen》)
示例代码如下:
# coding:utf-8
# 使用hashlib模块
import hashlib
md5 = hashlib.md5() # 应用MD5算法
data = "hello world"
md5.update(data.encode('utf-8'))
print(md5.hexdigest())
以上是关于Python中Hash值计算的学习笔记的主要内容,如果未能解决你的问题,请参考以下文章