python加密编码之MD5

Python加密解密大全(md5、sha1、base64、url编码、DES、AES、HmacSHA256、RSA) 一、MD5加解密 import hashlib # 1、加密 txt = hashlib.md5('密文字符串'.encode(encoding='UTF-8')).hexdigest() print(txt) # 2、解密 # 无解 阅读详情

在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。

可以使用hashlib.algorithms_guaranteed或者hashlib.algorithms_available这两个内置属性查看hashlib支持哪些加密算法。

hashlib.algorithms_guaranteed是在所有平台上,保证被hashlib模块支持的hash算法名称的集合;
hashlib.algorithms_available是在当前运行的python编译器可用的hash算法名称的集合,由于OpenSSL的原因,在这当中可能会出现重复的hash算法名称。
hashlib.algorithms_guaranteed是hashlib.algorithms_available的子集。

python3的hashlib文档:
https://docs.python.org/3/library/hashlib.html?highlight=hashlib#credits

在hashlib库的hash算法中,提供了很多加密算法,有 sha1()、sha224()、sha256()、sha384()、sha512()、blake2b()和 blake2s()、md5(),这些方法都通过统一接口返回一个对象,例如,使用sha256()可以创建一个SHA-256的哈希对象。

进行md5加密算法,就要用到md5()方法:
hash.update(arg)
1、传入arg对象来更新hash的对象。必须注意的是,该方法只接受byte类型,否则会报错。所以要在参数前添加b 来转换类型
2、请注意,重复调用update(arg)方法,是会将传入的arg参数进行拼接,而不是覆盖。必须注意这一点,因为在不熟悉update()原理的时候,你很可能就会被它坑了。
m.update(a); m.update(b) 等价于m.update(a+b)

For Example

import hashlib
m = hashlib.md5()
m.update('125sd'.encode('utf-8'))
m.update('123456'.encode())
sec = m.hexdigest()    #8722bb59f045167904adc7daf0104ac4
print(sec)

等价于

import hashlib
m = hashlib.md5()
m.update('125sd123456'.encode())
sec = m.hexdigest()    #8722bb59f045167904adc7daf0104ac4
print(sec)

2、hash.hexdigest()
该方法是将hash中的数据转换成数据,其中只包含十六进制的数字。另外还有hash.digest()方法。

MD5加密

import hashlib
m = hashlib.md5()
m.update('125sd'.encode('utf-8'))
sec = m.hexdigest()
print(sec)

3、hashlib.new(name[, data])
这是个一般性方法。
name传入的是哈希加密算法的名称,如md5;
data传入的是需要加密的数据,可忽略,在之后update()中传入。

import hashlib

m = hashlib.new('md5')
m.update(b'123456')  #必须为byte类型
sec = m.hexdigest()
print(sec)    #e10adc3949ba59abbe56e057f20f883e ,str类型

补充

python字符串与编码

由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。(bytes数据一个字符只占一个字节,str一个字符占若干个字节)
Python对bytes类型的数据用带b前缀的单引号或双引号表示:

'''注意区分bytes类型和str类型'''
ss = b'123'  #bytes类型
s = '123'    #str类型

bytes与str之间的变换
str转换为bytes:
在这里插入图片描述
中文字符串转换有点特殊
在这里插入图片描述
我们可以看到纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
在bytes中,无法显示为ASCII字符的字节,用\x##显示。

bytes转为str:
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法
在这里插入图片描述
在这里插入图片描述
如果bytes中包含无法解码的字节,decode()方法会报错
还可以使用str()函数将bytes类型转为str类型
在这里插入图片描述

@@@@@@@@@@@@@
更多python加密编码内容:
python加密编码之Base64
@@@@@@@@@@@@@

python实现md5加密方式 随意写的python3实现md5加密方式,内有超级详细注释部分 立即下载

相关推荐

【研究生学术英语读写教程翻译 中国科学院大学Unit9】

Unit 9 If Humble People Make the Best Leaders,Why Do We Fall for Charismatic Narcissists? 如果谦逊的人是最好的领导者,为什么我们会爱上魅力型自恋者?

fuhanghang的博客 4101

Python中MD5编码

python3.x已经把md5 module移除了。要想用md5得用hashlib module,以下是帮助手册中给的标准调用# -*- coding: utf8 -*- import hashlib m = hashlib.md5() #参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误 m.update(b"passw...

ADreamClusive的博客 5550

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 304

MD5加密及Python源码魔改

MD5全称:message-digest algorithm 5翻译过来就是:信息 摘要 算法 5。

Codeoooo 博客 2019

FlowDroid高级技巧:从基础配置到精准Android静态污点分析实战

静态污点分析是软件安全领域的核心技术,通过追踪数据在程序中的流动路径,识别潜在的隐私泄露与安全漏洞。其原理基于控制流与数据流分析,构建程序执行模型,模拟敏感信息从源头到汇聚点的传播过程。这项技术的核心价值在于能在不运行代码的情况下,系统性地发现隐蔽的数据流问题,为应用安全提供前置保障。在Android应用安全审计、合规检测等场景中,静态污点分析工具如FlowDroid已成为发现数据泄露、硬编码密钥等问题的标准手段。本文聚焦于FlowDroid的高级实战应用,深入探讨如何通过优化配置、调参策略及结果分析,将这

weixin_29324401的博客 367

如何玩转腾讯云轻量级服务器(新手向)

如何玩转腾讯云轻量级服务器(新手向) ​ 相信不少同学都想将自己的服务器部署到云服务器,让别人通过自己的域名就可以访问到自己的项目,而腾讯云轻量级服务器作为一个小型的应用,支持域名解析和可视化运维等。比较适合新手入门 ​ 本文服务器操作系统为Centos7 一. 购买以及基本配置 1.购买方式 ​ 本文主要面向新手,毕竟一般只有新手才会购买轻量级服务器。所以可以选择购买一年的来学习,以后再根据需要换,前提提示(轻量级服务器没有安全组的,开放端口直接开启防火墙里的即可) ​ 购买连接 购买完成后点击控制

qq_46160687的博客 1万+

Python进行MD5方式加密,编码、不编码

在python中可以使用hashlib这个库来使用MD5加密: import hashlib 在使用MD5加密的使用要注意加密内容的编码格式: 如果文本不是中文的话,不需要编码 import hashlib #导入hash库函数 md5_object = hashlib.md5() #创建一个MD5对象 md5_object.updat...

yunlive的博客 6700

【论文学习】《Fully-Convolutional Siamese Networks for Object Tracking》2016年SiamFC 全卷积孪生网络用于目标跟踪

在这项工作中,我们脱离了跟踪中采用的传统在线学习方法,并展示了一种专注于在离线阶段学习强嵌入的替代方法。与在分类设置中的使用不同,我们证明,对于跟踪应用,孪生全卷积深度网络能够更有效地使用可用数据。这不仅反映在测试时,通过执行有效的空间搜索,也反映在训练时,其中每个子窗口都有效地代表一个有用的样本,而几乎没有额外的成本。实验表明,深度嵌入为在线跟踪器提供了自然丰富的特征来源,并使简单的测试时策略表现良好。我们相信这种方法是对更复杂的在线跟踪方法的补充,并期望未来的工作能够更彻底地探索这种关系。

SkyLeopard的博客 2417

【md5】使用python进行md5编码

在工作中有一些文档或者事例需要拥有唯一标识,可以使用md5进行编码。

qq_44992785的博客 357

电子硬件仿真:设计一个频率范围为10k—50k的带通滤波器

带通滤波器是一种常用的滤波器类型,具有选择特定频率范围内信号的能力,并在该范围内提供一定的增益。它允许通过一定范围内的频率信号,并在该范围内提供一定的增益,同时在该范围之外的频率上提供较高的衰减。这意味着在通带内(10kHz至50kHz),滤波器的增益应为10dB,而在每个十倍频的频率点上,滤波器的增益应降低40dB。设计滤波器:使用滤波器设计工具(如MATLAB、Python的scipy库、Tina软件等),根据选定的滤波器类型(例如巴特沃斯滤波器),中心频率和通带宽度,设计一个4阶带通滤波器。

走向CTO的路上... 578

FreeRTOS深入教程(任务创建的深入和任务调度机制分析)

本篇文章将带大家深入学习任务的创建和分析任务调度的机制。本篇文章深入的讲解了任务创建的内部实现和任务调度的源代码分析和实现,学习这篇文章有助于更深入的学习FreeRTOS的源码。

m0_49476241的博客 6389

MD5密码实验——Python实现(完整解析版)

前言 实验目的 1)初步了解哈希算法 2)掌握哈希算法MD5的实现 提示:以下是本篇文章正文内容,下面案例可供参考 实验环境 计算机语言:Python 开发环境:Pycharm 实验内容 编程实现MD5算法。 实验操作步骤 暂略 实验结果 1.明文:12345678 密文:25d55ad23a80aa4f464c76d713c07ad 与在线.

有时候,想要一块二向箔 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python进行MD5方式加密,编码

1、如果文本不是中文的话,不需要编码 mport hashlib #导入hash库函数 md5_object = hashlib.md5() #创建一个MD5对象 md5_object.update(b'123456abc') #添加去要加密的文本 md5_result = md5_object.hexdigest() #获取加密结果 print(md5_result) #打印加密后的密码 #测试结果,是md

lxy___的博客 675

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现

JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现

EXIxiaozhou的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python 应用 base64、hmac、hashlib包实现:MD5编码 base64编码解码、SHA256编码、urlsafe_b64encode编码等等基本所有的加密签名的方法...

用python做HTTP接口自动化测试的时候,接口的很多参数是经过各种编码加密处理后在传到后台的,这里列举出python实现应用 base64、hmac、hashlib包实现:md5编码 sha1编码 sha3_224编码 sha3_256编码 sha3_384编码 sha3_512编码 、 sha224编码 、 sha384编码 、 sha512编码 、shake_128编...

depot2002的博客 416

python 代码实现MD5加密+Base64编码【工作经验笔记】

最近做接口测试,遇到比较麻烦的接口 1、某一字段要将【文件进行MD5加密】传入 2、某一字段要将【字符串加密并转化为16位数据】传入 好在网上东拼西凑找了很多方法总算是解决了 开篇文章备忘+分享一下代码 可以全代码复制直接替换即可使用哦 解决问题使用到的三种MD5加密代码一、简单的MD5加密【打印结果为32位小写数据】二、特殊需求的MD5加密【四种数据返回】三、将文件进行MD5加密【四种数据返回】 一、简单的MD5加密【打印结果为32位小写数据】 '''先导入 MD5 加密模块''' from ha

J_____Q的博客 885

python中base64加密字典_Python 中的加密操作 (base64、MD5)

base64 编码加密import base64想将字符串转编码成 base64, 要先将字符串转换成二进制数据url = “18322223360”bytes_url = url.encode(“utf-8”)str_url = base64.b64encode(bytes_url) # 被编码的参数必须是二进制数据print(str_url)将 base64 解码成字符串import base...

weixin_39997795的博客 745

Python 用hashlib。md5加密算法

廖雪峰的官方网站学习MD5加密,网址:“http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868328251266d86585fc9514536a638f06b41908d44000” 报“TypeError: Unicode-objects must be en...

weixin_30492047的博客 158

python哈希加密算法_Python 用hashlib。md5加密算法

廖雪峰的官方网站学习MD5加密,网址:“http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868328251266d86585fc9514536a638f06b41908d44000”报“TypeError: Unicode-objects must be encoded b...

weixin_39947961的博客 330

python对一个字符串进行md5加密

在Python中,你可以使用hashlib模块来进行MD5加密。这段代码首先定义了一个md5_hash函数,该函数接受一个字符串作为输入,然后返回该字符串的MD5摘要。你可以调用这个函数并传入需要加密的字符串来获取其MD5加密结果。请注意,MD5算法并不是一个安全的哈希算法,因为它容易受到碰撞攻击。在一些安全场景下,比如密码存储,应该使用更安全的哈希算法,比如SHA-256。

liweiweili126的博客 1400

Python代码实现md5加密

#待加密信息 name = '123456' #创建md5对象。记得md5后面加括号 m = hashlib.md5() #此处必须声明encode m.update(name.encode(encoding='utf-8')) print(m.hexdigest()) 常见错误 1.Traceback (most recent call last): File "E:/jiekouceshianli2/common/encry_decry.py", line 31, in <modul..

m0_58031764的博客 530

python进行md5加密的两种方法

本文转自:https://www.cnblogs.com/zknublx/p/6212590.html 一. 使用md5包 import md5 src = 'this is a md5 test.' m1 = md5.new() m1.update(src) print m1.hexdigest() 二. 使用hashlib import hashlib ...

Sea_Sand息禅 1616

python md5库_Python MD5加密详解以及多次加密的坑

在python中可以使用hashlib这个库来使用MD5加密:import hashlib在使用MD5加密的使用要注意加密内容的编码格式:import hashlib //导入hash库函数md5_object = hashlib.md5() //创建一个MD5对象md5_object.update(b'admin') //添加去要加密的文本md5_...

weixin_34677884的博客 897

Python 实现 MD5(base64) 加密

Python 实现 MD5(base64) 加密 import hashlib import base64 def md5(strs): m = hashlib.md5() strs=str(strs) #类型转换可输入数字 m.update(strs.encode('utf-8')) result = base64.b64encode(m.digest()) return result

weixin_44196186的博客 858
上一篇: python加密编码之Base64
下一篇: python网络爬虫实战之爬取OJ所有问题信息
玄蛰
博客等级 码龄9年 89粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值