zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python基础语法-内置函数和模块-hashlib

Python基础模块 函数 语法 内置 hashlib
2023-06-13 09:18:42 时间

hashlib 模块是 Python 内置的加密哈希函数库,提供了一系列哈希算法,如 MD5、SHA1、SHA256 等。哈希算法是将任意长度的二进制值映射为固定长度的较小二进制值的过程,其输出值通常称为哈希值、摘要或数字指纹。哈希算法具有单向、不可逆的特性,即不同的输入值产生的哈希值应尽量不同,同一个输入值产生的哈希值应该是唯一的。

以下是 hashlib 模块的常用方法:

hashlib.md5()

hashlib.md5() 方法用于创建一个新的 MD5 哈希对象,并返回该对象。可选参数 msg 指定初始的数据。hashlib.md5() 对象具有 update()digest() 方法。

import hashlib

# 创建 MD5 哈希对象
md5_obj = hashlib.md5()

# 更新哈希对象的状态
md5_obj.update(b"Hello, World!")
md5_obj.update(b"Python is awesome.")

# 获取哈希值
result = md5_obj.hexdigest()
print(result)

输出结果为:

774dbb1c5c5a2f5b21edba0cc8025e5b

注意,在使用 update() 方法更新哈希对象的状态时,传入的数据必须是字节串(bytes)类型。

hashlib.sha1()

hashlib.sha1() 方法用于创建一个新的 SHA1 哈希对象,并返回该对象。可选参数 msg 指定初始的数据。hashlib.sha1() 对象具有 update()digest() 方法。

import hashlib

# 创建 SHA1 哈希对象
sha1_obj = hashlib.sha1()

# 更新哈希对象的状态
sha1_obj.update(b"Hello, World!")
sha1_obj.update(b"Python is awesome.")

# 获取哈希值
result = sha1_obj.hexdigest()
print(result)

输出结果为:

8ab1a972d33c7dcce703524a21c7a642df71d24a

hashlib.sha256()

hashlib.sha256() 方法用于创建一个新的 SHA256 哈希对象,并返回该对象。可选参数 msg 指定初始的数据。hashlib.sha256() 对象具有 update()digest() 方法。

import hashlib

# 创建 SHA256 哈希对象
sha256_obj = hashlib.sha256()

# 更新哈希对象的状态
sha256_obj.update(b"Hello, World!")
sha256_obj.update(b"Python is awesome.")

# 获取哈希值
result = sha256_obj.hexdigest()
print(result)

输出结果为:

07fb9aa8b0ddcc16f2e3d3a3e8a790d60d34b9d98c23a24a51a8ba53bda03456