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值计算的学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

python hash()和哈希算法

Android常见的加密算法

hashlib 库

PYTHON学习0015:hash字符表----2019-6-10

转载关于Hash

python之哈希算法