我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python base64和hashlib模块如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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模块如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Python base64和hashlib模块如何使用

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

    下载Word文档

    猜你喜欢

    Python base64和hashlib模块如何使用

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

    Python base64和hashlib模块及用法详解

    这篇文章主要介绍了Python base64和hashlib模块,本文通过实例代码介绍了base64和hashlib模块的相关知识,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-24

    Python的加密模块hashlib与base64怎么使用

    这篇文章主要介绍了Python的加密模块hashlib与base64怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的加密模块hashlib与base64怎么使用文章都会有所收获,下面我们一起
    2023-07-05

    Python中base64模块如何使用

    Python中base64模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python base64模块是用来作base64编码解码的。这种编码方式在
    2023-06-17

    Python的加密模块之hashlib与base64详解及常用加密方法

    我们来学习一下Python中的加密模块,加密模块在工作中被广泛应用,比如数据的传入不希望被捕获,通过把数据加密。这样即使被捕获也无法获取到数据的真实信息,今天我们就来学习一下关于加密的方法,感兴趣的朋友跟随小编一起看看吧
    2023-02-24

    Python hashlib模块详细讲解使用方法

    hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512. 另外,模块中所定义的 new(name, string=”) 方法可通过指定系统所支持的hash算法来构造相应的hash对象
    2022-11-13

    Python加密与解密模块hashlib与hmac怎么使用

    这篇“Python加密与解密模块hashlib与hmac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python加
    2023-06-30

    Python函数和模块如何使用

    这篇“Python函数和模块如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python函数和模块如何使用”文章吧。一
    2023-06-30

    详解Python中使用base64模块来处理base64编码的方法

    base64模块是用来作base64编码解码的。这种编码方式在电子邮件中是很常见的。 它可以把不能作为文本显示的二进制数据编码为可显示的文本信息。编码后的文本大小会增大1/3。 闲话不说了,base64模块真正用的上的方法只有8个,分别是e
    2022-06-04

    如何使用python xml模块

    本篇内容主要讲解“如何使用python xml模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用python xml模块”吧!一、xml简介xml是实现不同语言或程序之间进行数据交换的协
    2023-06-07

    Python async模块如何使用

    这篇文章主要介绍“Python async模块如何使用”,在日常操作中,相信很多人在Python async模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python async模块如何使用”的疑
    2023-07-05

    Python pluggy模块如何使用

    本篇内容介绍了“Python pluggy模块如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 pluggy 简介pluggy 作用
    2023-06-30

    python如何使用timeit模块

    这篇文章给大家分享的是有关python如何使用timeit模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。timeit模块timeit 模块提供了测量 Python 小段代码执行时间的方法,可以在命令行界面直接
    2023-06-17

    python ffmpeg模块如何使用

    要使用Python中的FFmpeg模块,可以按照以下步骤进行:1. 安装FFmpeg:在你的系统上安装FFmpeg。你可以从官方网站(http://ffmpeg.org/)上下载最新的版本,并按照说明进行安装。2. 安装ffmpeg-pyt
    2023-10-12

    Python decimal模块如何使用

    这篇文章主要介绍“Python decimal模块如何使用”,在日常操作中,相信很多人在Python decimal模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python decimal模块如
    2023-07-05

    python如何使用itertools模块

    这篇文章主要为大家展示了“python如何使用itertools模块”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用itertools模块”这篇文章吧。高效的itertools
    2023-06-27

    Python中的os和sys模块如何使用

    本篇内容主要讲解“Python中的os和sys模块如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的os和sys模块如何使用”吧!一、os模块os 模块是 Python中的一
    2023-07-05

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录