Python的hashlib提供了常见的摘要算法
Posted lucky8492
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的hashlib提供了常见的摘要算法相关的知识,希望对你有一定的参考价值。
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等
计算出一个字符串的MD5值:
import hashlib md5 = hashlib.md5() md5.update(‘how to use md5 in python hashlib?‘.encode("utf8")) #需要指定转码 否则报错 update()必须指定要加密的字符串的字符编码 print( md5.hexdigest())#返回十六进制 print( md5.digest()) #二进制 # 如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的: md5 = hashlib.md5() md5.update(‘how to use md5 in ‘.encode("utf8")) md5.update(‘python hashlib?‘.encode("utf8")) print( md5.hexdigest())#返回十六进制
上述结果:
d26a53750bc40b38b65a520292f69306 b‘xd2jSux0bxc4x0b8xb6ZRx02x92xf6x93x06‘ d26a53750bc40b38b65a520292f69306
计算出一个字符串SHA1值:
import hashlib sha_1 = hashlib.sha1() sha_1.update(‘how to use sha1 in ‘.encode("utf8")) #需要指定转码 否则报错 update()必须指定要加密的字符串的字符编码 sha_1.update(‘python hashlib?‘.encode("utf8")) print (sha_1.hexdigest()) # 如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的: sha2 = hashlib.sha1() sha2.update(‘how to use sha1 in python hashlib?‘.encode("utf8")) print (sha2.hexdigest())
打印结果:
2c76b57293ce30acef38d98f6046927161b46a44
2c76b57293ce30acef38d98f6046927161b46a44
读取文件获取MD5值:
import os import hashlib #文件md5 def file_md5(pathandname): if os.path.isfile(pathandname): hashmd5 = hashlib.md5() file = open(pathandname, ‘rb‘) while True: b = file.read(1024) if not b: break hashmd5.update(b) file.close() return hashmd5.hexdigest() else: return None print(file_md5("C:\Users\Administrator\Desktop\V2.6.1_B511\hvr_dec")) #aef87d1d673ca52412b4a950a06b9557
以上是关于Python的hashlib提供了常见的摘要算法的主要内容,如果未能解决你的问题,请参考以下文章