前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础语法-内置函数和模块-hashlib

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

原创
作者头像
玖叁叁
发布2023-04-18 07:26:59
2930
发布2023-04-18 07:26:59
举报
文章被收录于专栏:玖叁叁

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

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

hashlib.md5()

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

代码语言:javascript
复制
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)

输出结果为:

代码语言:javascript
复制
774dbb1c5c5a2f5b21edba0cc8025e5b

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

hashlib.sha1()

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

代码语言:javascript
复制
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)

输出结果为:

代码语言:javascript
复制
8ab1a972d33c7dcce703524a21c7a642df71d24a

hashlib.sha256()

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

代码语言:javascript
复制
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)

输出结果为:

代码语言:javascript
复制
07fb9aa8b0ddcc16f2e3d3a3e8a790d60d34b9d98c23a24a51a8ba53bda03456

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hashlib.md5()
  • hashlib.sha1()
  • hashlib.sha256()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档