hashlib模块

Posted 鱼丸粗面没鱼丸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hashlib模块相关的知识,希望对你有一定的参考价值。

ython的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。

摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。

我们以常见的摘要算法MD5为例,计算出一个字符串的MD5值:

技术分享图片
    while True:
        user=input( input user name>>:)
        pwd=input(input passworld>>:)
        obj_pwd=hashlib.md5(user.encode(utf-8))
        obj_pwd.update(pwd.encode(utf-8))
        md5_pwd=obj_pwd.hexdigest()
用户密码(加盐)摘要算法进行

 

如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的:

 

md5 = hashlib.md5()
md5.update(how to use md5 in )
md5.update(python hashlib?)
print md5.hexdigest()

hashlib 如MD5,SHA1等很多摘要算法

 

以上是关于hashlib模块的主要内容,如果未能解决你的问题,请参考以下文章

hash模块 hashlib 和hmac

Python中hashlib模块

包logging模块hashlib模块openpyxl模块深浅拷贝

包/logging模块/hashlib模块/openpyxl模块/深浅拷贝

第三十六篇 hashlib模块hmac模块和logging模块

包,logging模块,hashlib模块,openpyxl模块,深拷贝,浅拷贝