广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python base64和hashlib模块如何使用
  • 784
分享到

Python base64和hashlib模块如何使用

2023-07-05 05:07:26 784人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文小编为大家详细介绍“python base64和hashlib模块如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python base64和hashlib模块如何使用”文章能帮助大家解决疑惑,下面跟着小编的

本文小编为大家详细介绍“python base64和hashlib模块如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python base64和hashlib模块如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    一、base64模块

    base64模块提供了在二进制数据和可打印ASCII字符间编解码的功能,包括 RFC3548中定义的Base16, Base32, Base64, Ascii85, Base85等编码。

    base64模块属于标准库,无需进行安装,导入即可使用。

    base64模块支持两种接口:

    • bytes类型数据进行base64编码。即将类字节对象编码为由ASCII可打印字符表示的bytes。

    • base64编码的bytes类型进行解码。即将类字节对象或纯ASCII字符组成的Unicode字符串解码为bytes。

    注意:编码与解码的处理对象是byte,及参数必须是二进制数据,才可以进行正常使用。

    1、对字符串编解码

    import base64str = "Hello Python"# 默认以utf-8编码byte_str = str.encode("utf-8")b64_str = base64.b64encode(byte_str)print(b64_str)print("-------------")# 默认以utf-8解码byte_str2 = base64.b64decode(b64_str)str2 = byte_str2.decode("utf-8")print(str2)

    Python base64和hashlib模块如何使用

    2、对URL编解码

    import base64url = "Http://www.baidu.com?k1=v1&k2=值二"# 默认以utf-8编码byte_url = url.encode("utf-8")b64_url = base64.b64encode(byte_url)print(b64_url)  # b'aHR0cDovL3D3dy5iYWlkdS5jb20/azE9djEmazI95YC85LqM'print("-------------")# 默认以utf-8解码byte_url2 = base64.b64decode(b64_url)url2 = byte_url2.decode("utf-8")print(url)  # http://www.baidu.com?k1=v1&k2=值二

    二、hashlib模块

    1、hashlib模块

    hashlib是Python的内置模块,提供了多种安全方便的常见摘要算法,其中主要包括MD5,SHA1,SHA256,SHA384,SHA512等。这些摘要方法在使用上通用,返回带有同样接口的hash对象,对算法的选择,差别只在于构造方法的选择。

    摘要算法又称哈希算法、散列算法。它通过一个函数算法,把任意长度的数据转换为一个长度固定的数据串)。

    1.1 常用属性
    import hashlib#列出hashlib内容print(dir(hashlib))#列出所有加密算法print(hashlib.alGorithms_available) print(hashlib.algorithms_guaranteed)#产生的散列字节大小。h.digest_size#哈希内部块的大小h.block_size
    1.2 常用方法
    # 创建指定加密模式的hash对象hash.new([arg])# 更新哈希对象以字符串参数。# 如果同一个hash对象重复调用该方法,m.update(a); m.update(b) 等价于 m.update(a+b)hash.update(arg)# 返回摘要,作为二进制数据字符串值。hash.digest()# 返回摘要,作为十六进制数据字符串值hash.hexdigest()# 复制hash.copy()
    1.3 使用步骤

    方式一:

    import hashlib# -------以 MD5为例-------# 1. 创建hash工厂m = hashlib.md5()# 2. 在内存里面加载二进制数据# m.update('Hello'.encode('utf-8'))# m.update('Python'.encode('utf-8'))## 等价于,如果二进制数据很长的话,可以分开更新m.update('Hello Python'.encode('utf-8'))print(m.digest_size)  # 16print(m.block_size)  # 64# 3、返回十六进制str摘要值hash_value = m.hexdigest()print(hash_value)  # a709c173220d6185d12248faa9f40ac8# 3.返回bytes格式的消息摘要print(m.digest())  # b'\xa7\t\xc1s"\ra\x85\xd1"H\xfa\xa9\xf4\n\xc8'

    方式二:

    import hashlib'''一个通用的构造方法,    name:是某个算法的字符串名称,    data:是可选的bytes类型待摘要的数据。'''m = hashlib.new('md5', b'Hello Python')print(m.hexdigest())print(m.digest())print("-----复制方法测试-----")# 复制m2 = m.copy()print(m2)print(m2.hexdigest())print(m2.digest())

    Python base64和hashlib模块如何使用

    2、MD5(消息摘要算法)

    MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位的散列值(hash value),用于确保信息传输完整一致。

    示例代码如下:

    import hashlibdef jm_md5(passWord):    # 构建MD5对象    m = hashlib.md5()    # 自定义加盐值    m.update('abc'.encode(encoding='utf-8'))    m.update(password.encode(encoding='utf-8'))    # 返回十六进制str摘要值    password_md5 = m.hexdigest()    return password, password_md5res = jm_md5('123456')print(res) # ('123456', '0659c7992e268962384eb17fafe88364')

    3、SHA-256(安全哈希算法)

    安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。验证数据的完整性。

    科学家们推出了SHA1,SHA224,SHA256,SHA384,SHA512,当然位数越长,破解难度越大,但同时生成加密的消息摘要所耗时间也更长。常用的还是SHA-256。

    示例代码如下:

    import hashlibdef jm_sha256(password):    # 构建MD5对象    m = hashlib.sha256()    # m = hashlib.sha512()    # 自定义加盐值    m.update('abc'.encode(encoding='utf-8'))    m.update(password.encode(encoding='utf-8'))    # 返回十六进制str摘要值    password_md5 = m.hexdigest()    return password, password_md5res = jm_sha256('123456')print(res) # ('123456', 'a03c32fcd351cba2d9738622b083bed022ef07793bd92b59faea0207653f371d')

    读到这里,这篇“Python base64和hashlib模块如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网Python频道。

    --结束END--

    本文标题: Python base64和hashlib模块如何使用

    本文链接: https://www.lsjlt.com/news/349917.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Python base64和hashlib模块如何使用
      本文小编为大家详细介绍“Python base64和hashlib模块如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python base64和hashlib模块如何使用”文章能帮助大家解决疑惑,下面跟着小编的...
      99+
      2023-07-05
    • Python base64和hashlib模块及用法详解
      目录一、base64模块1、对字符串编解码2、对URL编解码二、hashlib模块1、hashlib模块1.1 常用属性1.2 常用方法1.3 使用步骤2、MD5(消息摘要算法)3、...
      99+
      2023-02-24
      Python base64和hashlib模块 Python base64和hashlib
    • Python的加密模块hashlib与base64怎么使用
      这篇文章主要介绍了Python的加密模块hashlib与base64怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的加密模块hashlib与base64怎么使用文章都会有所收获,下面我们一起...
      99+
      2023-07-05
    • Python中base64模块如何使用
      Python中base64模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python base64模块是用来作base64编码解码的。这种编码方式在...
      99+
      2023-06-17
    • Python hashlib模块与subprocess模块使用详细介绍
      目录1、什么是哈希hash2、hash的用途3、如何用4、subprocess模块1、什么是哈希hash hash一类算法,该算法接受传入的内容,经过运算得到一串hash值 hash...
      99+
      2022-11-11
    • Python的加密模块之hashlib与base64详解及常用加密方法
      目录hashlib 模块hashlib 模块中的常用加密方法hashlib模块情景练习base64 模块base64 模块的情景练习我们来学习一下 Python 中的加密模块,加密模...
      99+
      2023-02-24
      Python hashlib base64 Python hashlib base64加密
    • Python hashlib模块详细讲解使用方法
      目录1.hashlib的简介2.hashlib的使用1. 常用属性2. 常用方法3. 使用示例3.hashlib的特点4.实际演示1. 基本演示2. 应用场景案例1.hashlib的...
      99+
      2022-11-13
      Python hashlib模块 Python hashlib
    • Python加密与解密模块hashlib与hmac怎么使用
      这篇“Python加密与解密模块hashlib与hmac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python加...
      99+
      2023-06-30
    • 详解Python中使用base64模块来处理base64编码的方法
      base64模块是用来作base64编码解码的。这种编码方式在电子邮件中是很常见的。 它可以把不能作为文本显示的二进制数据编码为可显示的文本信息。编码后的文本大小会增大1/3。 闲话不说了,base64模块...
      99+
      2022-06-04
      详解 模块 方法
    • Python函数和模块如何使用
      这篇“Python函数和模块如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python函数和模块如何使用”文章吧。一...
      99+
      2023-06-30
    • python ffmpeg模块如何使用
      要使用Python中的FFmpeg模块,可以按照以下步骤进行:1. 安装FFmpeg:在你的系统上安装FFmpeg。你可以从官方网站...
      99+
      2023-10-12
      python
    • Python async模块如何使用
      这篇文章主要介绍“Python async模块如何使用”,在日常操作中,相信很多人在Python async模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python ...
      99+
      2023-07-05
    • python如何使用import模块
      这篇文章给大家分享的是有关python如何使用import模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。import模块在Python经常使用import声明,以使用其他模块...
      99+
      2022-10-19
    • Python decimal模块如何使用
      这篇文章主要介绍“Python decimal模块如何使用”,在日常操作中,相信很多人在Python decimal模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python&...
      99+
      2023-07-05
    • Python pluggy模块如何使用
      本篇内容介绍了“Python pluggy模块如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 pluggy 简介plug...
      99+
      2023-06-30
    • 如何使用python xml模块
      本篇内容主要讲解“如何使用python xml模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用python xml模块”吧!一、xml简介xml是实现不同语言或程序之间进行数据交换的协...
      99+
      2023-06-07
    • python如何使用timeit模块
      这篇文章给大家分享的是有关python如何使用timeit模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。timeit模块timeit 模块提供了测量 Python 小段代码执行时间的方法,可以在命令行界面直接...
      99+
      2023-06-17
    • python如何使用itertools模块
      这篇文章主要为大家展示了“python如何使用itertools模块”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用itertools模块”这篇文章吧。高效的itertools...
      99+
      2023-06-27
    • python中os模块和sys模块怎么使用
      今天小编给大家分享一下python中os模块和sys模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、os模块o...
      99+
      2023-07-05
    • python os模块和fnmatch模块的使用介绍
      目录一、先介绍一下os模块1、拆分路径的方法介绍2、构建文件路径的方法介绍3、获取文件属性的方法介绍4、判断文件的类型5、文件和目录操作6、修改文件属性和判断文件属性7、遍历目录树二...
      99+
      2022-11-11
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作