标签:class bit data name 分享图片 就是 模块 print none
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等很多摘要算法
标签:class bit data name 分享图片 就是 模块 print none
原文地址:https://www.cnblogs.com/Robi-9662/p/9089926.html