python 将md5转为16字节的方法


Posted in Python onMay 29, 2018

python的hashlib库中提供的hexdigest返回长度32的字符串。

直接通过digest返回的16字节,有不可打印字符。

问题来了,因为md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢?

请看下面代码

import hashlib
def get_md5(s):
 m = hashlib.md5(s)
 return m.hexdigest()
def convert_md5(origin):
 result = []
 s = ""
 for i in range(len(origin)):
   s += origin[i]
   if i %2 != 0 :
     int_hex = int(s, 16)
     result.append(int_hex)
     s = ""
 return result
if __name__=="__main__":
 sum = get_md5("hello world")
 print sum
 print len(sum)
 cv_sum = convert_md5(sum)
 print cv_sum
 print len(cv_sum)

output:

5eb63bbbe01eeed093cb22bb8f5acdc3 
32 
[94, 182, 59, 187, 224, 30, 238, 208, 147, 203, 34, 187, 143, 90, 205, 195] 
16

转换后输出的list是以10进制输出的每个字节表示的值,例如,最后一个字节,0xc3 == 195

以上这篇python 将md5转为16字节的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python批量同步web服务器代码核心程序
Sep 01 Python
浅谈Python中copy()方法的使用
May 21 Python
用python制作游戏外挂
Jan 04 Python
Python实现随机漫步功能
Jul 09 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
PyQt5显示GIF图片的方法
Jun 17 Python
python写入文件自动换行问题的方法
Jul 05 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
Python读取YAML文件过程详解
Dec 30 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
python 利用栈和队列模拟递归的过程
May 29 #Python
查看django执行的sql语句及消耗时间的两种方法
May 29 #Python
让Django支持Sql Server作后端数据库的方法
May 29 #Python
Django 浅谈根据配置生成SQL语句的问题
May 29 #Python
django表单实现下拉框的示例讲解
May 29 #Python
用python编写第一个IDA插件的实例
May 29 #Python
基于python进行桶排序与基数排序的总结
May 29 #Python
You might like
德生PL330的评价与改造
2021/03/02 无线电
几个学习PHP的网址
2006/11/25 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python画折线图的程序
2018/07/26 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
职业教育毕业生求职信
2013/11/09 职场文书
专项法律服务方案
2014/06/11 职场文书
个人收入证明范本
2014/09/18 职场文书
校长一岗双责责任书
2015/05/09 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android