Python进阶

Python模块·Hashlib加密解密

2023-01-05  本文已影响0人  技术老男孩

一、hashlib模块定义:

二、hashlib常用方法:

序号 关键字 / 函数 / 方法 说明
1 hashlib.md5(“byte”) 计算“byte”的md5值,并返回一个对象
2 hashlib.md5() 返回一个空数据md5的对象
3 m.hexdigest() 以16进制的方式,显示m的md5值
m是hashlib.md5返回的对象
4 m.update(“byte”) 更新m的md5值
import hashlib
m = hashlib.md5(b"12345")# 一次计算
# m.hexdigest()以十六进制的方式显示文件的md5值
print(m.hexdigest())
import hashlib

m1 =hashlib.md5()
m1.update(b"12")
m1.update(b"3")
m1.update(b"45")
# 打印显示文件的md5值
print(m1.hexdigest())

""字符串
b""字节串,二进制串

三、案例

需求:
import hashlib

# 函数:将大文件内容转换md5
def md5_file(filename):
    # 获取md5对象
    md5_data = hashlib.md5()
    with open(filename, mode="rb") as fr:
        while True:
            # 每次读取4k的文件内容
            data = fr.read(4096)
            if len(data) == 0:
                break
            # 更新md5的值
            md5_data.update(data)
    # 返回md5十六进制的值
    return md5_data.hexdigest()


if __name__ == '__main__':
    print(md5_file("/etc/hosts"))
上一篇 下一篇

猜你喜欢

热点阅读