美文网首页Python进阶
Python模块·Hashlib加密解密

Python模块·Hashlib加密解密

作者: 技术老男孩 | 来源:发表于2023-01-05 08:13 被阅读0次

一、hashlib模块定义:

  • hashlib 用来替换 MD5 和 sha 模块,并使他们的API一致,专门提供hash算法
  • 包括md5、sha1、sha224、sha256、sha384、sha512,使用非常简单、方便

二、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())
  • hashlib使用的是字节串,hashlib.md5(b"str")

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

三、案例

需求:
  • 编写用于计算文件md5值的脚本
  • 文件名通过位置参数获得
  • 打印出文件md5值
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"))

相关文章

  • Python模块·Hashlib加密解密

    一、hashlib模块定义: hashlib 用来替换 MD5 和 sha 模块,并使他们的API一致,专门提供h...

  • Python 入门之 内置模块 -- hashlib模块

    Python 入门之 内置模块 -- hashlib模块 1、hashlib 摘要算法,加密算法 (1)主要用途:...

  • python hashlib md5加密

    MD5模块在python3被移除,所以使用hashlib进行MD5加密 python2 使用MD5模块进行加密

  • python加密解密

    1. md5加密 方法一:使用Crypto 方法二:使用hashlib 2. AES加密解密 导入库 加密 解密

  • python hashlib模块简介

    python hashlib模块简介 一、hashlib模块里有什么 hashlib模块提供了多种安全散列和消息摘...

  • python md5,SHA1,Hmac加密

    Python的hashlib模块提供了常见的加密算法,如MD5,SHA1等。md5加密:单向验证加密,例如:客户端...

  • 每周一个 Python 模块 | hashlib

    专栏地址:每周一个 Python 模块 hashlib 模块定义了用于访问不同加密散列算法的 API。要使用特定的...

  • Python MD5

    python提供了一个进行hash加密的模块:hashlib 对以上代码的说明:1.首先从python直接导入ha...

  • 5.系统模块下

    日志模块logging 日志对象调用: configparser模块 生成文档模块 hashlib模块 加密相关操作

  • python3 hashlib加密模块

    如果你学习过密码学,那当然对密码的重要性是特别了解的,当今社会我们都把大量的时间花在了网络空间中,网络空间中的安全...

网友评论

    本文标题:Python模块·Hashlib加密解密

    本文链接:https://www.haomeiwen.com/subject/mutwqdtx.html