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
相关文章
- Python基础16-正则和子进程模块
- Python基础24-MySQL模块pymysql
- python运行代码不成功_Python | PyCharm无法直接运行(Run)脚本
- python整除和取余写法_Python的整除和取余[通俗易懂]
- Python算法-汉诺塔
- python基础语法个人笔记_python基础题库
- python基础(8)python中is和==的区别详解
- 运维Python自动化之路:基础信息模块之psutil模块
- 廖雪峰的 Python 教程_python基础教程廖雪pdf
- Python基础(九):字符串深入讲解
- OpenAi[ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人-学习详解篇
- 软件测试|Python基础之面向对象(一)
- Python基础语法-基本数据类型-字典(一)
- Python基础语法-函数-函数的参数(二)
- Python基础语法-内置函数和模块-常用内置函数(一)
- Python基础语法-内置函数和模块-math模块
- Python基础语法-内置函数和模块-自定义模块
- python-协程基础-async/await关键字
- 使用Python编程连接MySQL数据库(python连mysql)
- Python面向对象基础详解编程语言
- python工具——Py-Spy详解编程语言
- 快速安装Python MySQL模块(python安装mysql模块)
- Linux下使用Python开发体验之旅(linux使用python)
- 运维学python之爬虫基础篇(三)urllib模块高级用法
- Python操作MySQL数据库的必备模块mysqlpython(mysql_python)
- 零基础写python爬虫之抓取百度贴吧代码分享