hashlib是 Python 的一个内置的标准库模块,无需单独安装即可直接使用。主要用于提供多种加密哈希算法(如 MD5、SHA1、SHA256 等)的实现,以下是关于它的详细介绍:
一、基本功能
哈希算法的实现:它支持多种哈希算法,比如`md5`、`sha1`、`sha224`、`sha256`、`sha384`、`sha512`等。这些算法可以将任意长度的数据转换为固定长度的哈希值。例如,`md5`会将数据转换为 128 位的哈希值,`sha256`会转换为 256 位的哈希值。
数据完整性校验:常用于校验数据的完整性。比如在文件传输过程中,发送方可以对文件计算哈希值并发送给接收方,接收方收到文件后也计算哈希值,然后比较两个哈希值是否一致。如果一致,说明文件在传输过程中没有被篡改。
二、如何安装
pip install hashlib
如果下载慢,使用阿里云镜像源配置 pip
pip install hashlib -i https://mirrors.aliyun.com/pypi/simple/
三、使用方法
创建哈希对象:使用`hashlib.new()`方法或者直接调用具体的哈希算法方法(如`hashlib.md5()`、`hashlib.sha256()`等)来创建一个哈希对象。例如:
python
import hashlib
hash_obj = hashlib.md5()
更新哈希对象:使用哈希对象的`update()`方法向其传入要计算哈希值的数据。可以多次调用`update()`方法,哈希对象会依次处理传入的数据。例如:
python
hash_obj.update(b"Hello")
hash_obj.update(b"World")
获取哈希值:通过哈希对象的`hexdigest()`方法以十六进制字符串的形式获取哈希值,或者使用`digest()`方法以字节形式获取哈希值。例如:
python
hash_value_hex = hash_obj.hexdigest()
hash_value_bytes = hash_obj.digest()