python破解md5_python怎么使用md5加密解密
python采用hashlib这个标准库实现MD5加密解密。方法是:1、updata传数据;2、利用hexdigest进行16进制转换;
update(arg)传入arg对象来更新hash的对象。必须注意的是,该方法只接受byte类型,否则会报错。这就是要在参数前添加b来转换类型的原因。
同时要注意,重复调用update(arg)方法,是会将传入的arg参数进行拼接,而不是覆盖。也就是说,m.update(a); m.update(b) 等价于m.update(a b)。
hexdigest()在英语中hex有十六进制的意思,因此该方法是将hash中的数据转换成数据,其中只包含十六进制的数字。>>> import hashlib
>>> m = hashlib.md5()
>>> m.update(b'123')
>>> m.hexdigest()
'202cb962ac59075b964b07152d234b70'
# 或者可以这样(最常见的写法,常用于图片的命名)
>>> hashlib.md5(b'123').hexdigest()
'202cb962ac59075b964b07152d234b70'
# 也可以使用hash.new()这个一般方法,hashlib.new(name[, data]),name传入的是哈希加密算法的名称,如md5
>>> hashlib.new('md5', b'123').hexdigest()
'202cb962ac59075b964b07152d234b70'
以上是对于英文进行md5加密的,如果要对中文进行加密,发现按照上面来写会报错,原因在于字符转码问题,要如下写:>>> import hashlib
>>> data = '你好'
>>> hashlib.md5(data.encode(encoding='UTF-8')).hexdigest()
'7eca689f0d3389d9dea66ae112e5cfd7'
此处先将数据转换成UTF-8格式的,使用网上工具对比下加密的结果,发现有的md5加密工具并不是使用UTF-8格式加密的。
经测试目前发现可以转为UTF-8、GBK、GB2312、GB18030,不分大小写(因为GBK/GB2312/GB18030均是针对汉字的编码,所以md5加密后结果一样)。
例如:>>> hashlib.md5('你好'.encode(encoding='UTF-8')).hexdigest()
'7eca689f0d3389d9dea66ae112e5cfd7'
>>> hashlib.md5('你好'.encode(encoding='GBK')).hexdigest()
'b94ae3c6d892b29cf48d9bea819b27b9'
>>> hashlib.md5('你好'.encode(encoding='GB2312')).hexdigest()
'b94ae3c6d892b29cf48d9bea819b27b9'
>>> hashlib.md5('你好'.encode(encoding='GB18030')).hexdigest()
'b94ae3c6d892b29cf48d9bea819b27b9'
python破解md5_python怎么使用md5加密解密相关推荐
- 如何使用MD5加密解密工具?
MD5加密解密工具是用于计算MD5消息摘要的工具,可以将文本.密码等数据进行加密处理以保护数据安全. 使用MD5加密解密工具通常需要输入待加密的字符串或文件,程序会自动通过预设的算法计算出与此字符串对 ...
- RSA、MD5加密解密算法全套解析安装教程
第一部分介绍加密解密算法, 第二部分介绍我小组成功应用的RSA.MD5两种加密解密算法,以及心得体会. 1.加密解密算法介绍 应用的开发中安全很重要,所以信息加密技术显得尤为重要.我们需要对应用中的多 ...
- java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法
java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...
- C# MD5加密解密帮助类
/// <summary> /// MD5加密解密帮助类 /// </summary> public static class DESHelper ...
- Java实现MD5加密解密类
Java实现MD5加密以及解密类,附带测试类,具体见代码. MD5加密解密类--MyMD5Util,代码如下: [java] view plaincopy package com.zyg.securi ...
- 手机号 MD5加密解密工具类
package com.yestar.common.utils;import java.io.UnsupportedEncodingException; import java.security.Me ...
- 教你如何使用 Python 将 pdf 文档进行 加密 解密——python实用小技能分享
上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式(点击这里),这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密,哈哈哈 希望帮到更多人 ...
- c语言字符串md5加密解密,.net core使用MD5加密解密字符串
本文实例为大家分享了.net core使用MD5加密解密字符串的具体代码,供大家参考,具体内容如下 /// /// 加密 /// /// 要加密的文本 /// 秘钥 /// public static ...
- java 采用MD5加密解密代码示例(不玩套路, 非标题党, 附带解密代码)
package cn.demo; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; im ...
最新文章
- linux 定时器 crontab 实例 计划任务 定时任务
- jdbc mysql - Column count doesn't match value count at row 1.
- C++中在什么时候需要使用“常引用”?
- 使用docker安装mysql服务
- 浅谈Java解决鸡兔同笼问题的思路
- Java黑皮书课后题第5章:5.12(求满足n方>12000的n的最小值)使用while循环找出满足n方大于12000的最小整数n
- Puffer:专注拥塞控制、带宽预测和ABR
- 动态加载vs静态加载
- python网络编程证书_python 网络编程——客户端
- IOS中的事件响应链,事件冒泡机制基本了解
- Jenkins任务配置详解,支持ssh远程部署,maven聚合项目,springboot
- Tcl 语言 ——列表篇
- 程序设计框架图和框架加载流程
- G	Parenthesis
- ubuntu16.04 nvidia gtx1060 驱动安装
- 这种木头比钢和陶瓷更锋利,轻松切开半熟牛排,钉穿三层木板,还永不生锈 | Cell子刊...
- 2011年1月22日 上野公园,秋叶原游记
- 关于工资、社保、公积金、个人所得税等小常识
- Commander入门
- python单位根检验平稳性怎么看是否平稳_Python ADF 单位根检验 如何查看结果的实现...