Python内置模块hashlib、hmac与uuid用法分析

Python内置模块hashlib、hmac与uuid用法分析

简介

Python内置模块hashlibhmacuuid是常用的密码学和唯一标识符相关的模块。本文将分别介绍它们的用法。

hashlib

hashlib模块提供了多种编码算法,包括MD5、SHA1、SHA224、SHA256、SHA384、SHA512等。可以用于加密密码、生成消息摘要等。

示例1:生成MD5消息摘要

import hashlib

msg = 'Hello, world!'
md5 = hashlib.md5()
md5.update(msg.encode('utf-8'))
digest = md5.hexdigest()

print('msg:', msg)
print('md5 digest:', digest)

输出结果:

msg: Hello, world!
md5 digest: b94d27b9934d3e08a52e52d7da7dabfa

示例2:生成SHA256消息摘要

import hashlib

msg = 'Hello, world!'
sha256 = hashlib.sha256()
sha256.update(msg.encode('utf-8'))
digest = sha256.hexdigest()

print('msg:', msg)
print('sha256 digest:', digest)

输出结果:

msg: Hello, world!
sha256 digest: 09a4e8f1d76bdbe35a3f3e590bfeb5cf37b2134dda38a750493fbd6b8c0580e6

hmac

hmac模块提供了基于哈希算法的消息认证码,可以用于防止网络中的消息被篡改、伪造、重放攻击等。

示例3:使用HMAC-SHA256进行消息认证

import hmac

key = b'secret_key'
msg = b'Hello, world!'
hmac_sha256 = hmac.new(key, msg, digestmod='sha256')

print('msg:', msg.decode('utf-8'))
print('hmac_sha256:', hmac_sha256.hexdigest())

输出结果:

msg: Hello, world!
hmac_sha256: b099fe15423c0f08e6aae8ba0fa9dbdbfbcf52335e00d1aa31703ceae5e5b03f

uuid

uuid模块提供了生成唯一标识符的方法,可以用于标识数据、车辆、设备等实体。

示例4:生成UUID

import uuid

unique_id = uuid.uuid4()

print('unique_id:', unique_id)

输出结果:

unique_id: 098a27b1-0864-4c52-9fca-a146060a66ab

总结

hashlibhmacuuid模块是处理密码学和唯一标识符相关的常用模块,可以在实际开发中使用它们保证数据安全性和唯一性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python内置模块hashlib、hmac与uuid用法分析 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • python重试装饰器的简单实现方法

    Python重试装饰器是一种通过对函数进行装饰,使其具有重试功能的方法。这种装饰器可以很方便地解决一些网络请求、文件读写等操作中出现的异常重试问题。下面是详细的攻略以及两条示例说明。 安装retrying库 retrying是Python中一个流行的库,它提供了一些用于代码重试的装饰器。在使用这个库之前,需要先将它安装到你的环境中。使用pip命令即可进行安装…

    python 2023年5月13日
    00
  • python画图时linestyle,color和loc参数的设置方式

    当使用Python的matplotlib库进行数据可视化时,常常需要设置线型 linestyle,颜色 color 和位置 loc 等参数。下面就针对这三个参数简单进行总结和说明。 1. 设置线型 linestyle matlotlib支持常见的线型,例如实线、虚线等等,具体的参数值和样式可以在下面的链接中查看:https://matplotlib.org/…

    python 2023年5月18日
    00
  • 初步探究Python程序的执行原理

    下面是详细讲解如何初步探究Python程序的执行原理的完整攻略。 观察程序执行过程 了解 Python 程序的执行过程,需要对程序运行时的几个关键步骤进行观察和理解,主要包括以下几个方面: Python 程序被解释器进行解释,并转化为字节码。 字节码被传递给 Python 虚拟机进行执行。 程序在解释器和虚拟机的协同作用下,完成程序的执行。 为了更好地观察这…

    python 2023年5月14日
    00
  • python模块中pip命令的基本使用

    下面是Python模块中pip命令的基本使用攻略: 1. pip命令的简介 PIP是Python包管理工具,可以用来安装和管理Python模块,它能够自动下载并解决依赖关系,非常方便。pip安装后,可以在命令行终端中对Python模块进行操作。 2. pip命令的基本使用 2.1. 安装模块 在终端中输入以下命令来安装Python模块: pip instal…

    python 2023年5月14日
    00
  • python如何导入依赖包

    Python作为一种高效、易用的编程语言,生态系统非常丰富。为了更好地开发Python代码,我们经常需要导入各种Python依赖包。下面是Python如何导入依赖包的完整攻略,包含两个示例说明。 第一步:安装包管理工具 Python的包管理工具有很多,比较常见的有pip、easy_install、conda等。其中,pip是最为常用的包管理工具。 在MacO…

    python 2023年5月19日
    00
  • python爬虫scrapy框架之增量式爬虫的示例代码

    针对这个主题,我可以提供一份针对“python爬虫scrapy框架之增量式爬虫的示例代码”的完整攻略。 什么是增量式爬虫? 在介绍示例代码之前,我们先来了解一下什么是“增量式爬虫”。简单来说,增量式爬虫就是针对已经抓取过的内容进行增量的、增量的更新;只爬取新加入的,而不是全盘的重新抓取。对于时间线较为敏感的数据应用,增量式爬虫可以减少开销,提高数据更新速度。…

    python 2023年5月14日
    00
  • 您可以从 Windows 符号链接导入 Python 模块吗?

    【问题标题】:Can you import a Python module from a Windows symbolic link?您可以从 Windows 符号链接导入 Python 模块吗? 【发布时间】:2023-04-03 02:44:02 【问题描述】: 我正在使用 Windows 7 计算机为 Python 3 项目做出贡献。 为了在进行和测试…

    Python开发 2023年4月8日
    00
  • python爬虫爬取幽默笑话网站

    Python爬虫爬取幽默笑话网站攻略 一、确定目标网站 首先需要决定要爬取的目标网站,以本次任务为例,我们选取了幽默笑话网站(http://www.laugh123.cn/)。 二、分析目标网页结构 在开始编写爬虫代码之前,需要分析目标网页的结构,确定需要收集哪些信息以及信息的位置。 例如,我们需要爬取的信息包括标题和内容,那么我们需要查看目标网页的源代码,…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部