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中安装模块包版本冲突问题的解决
May 02 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
python如何删除列为空的行
Jul 17 Python
python实现逻辑回归的示例
Oct 09 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python lambda的使用详解
Feb 26 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
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
2019/02/22 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python中str.join()简单用法示例
2018/03/20 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
Pandas分组与排序的实现
2019/07/23 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
python和go语言的区别是什么
2020/07/20 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
世界最大的票务市场:viagogo
2017/02/16 全球购物
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
护理学毕业生自荐信
2013/10/02 职场文书
七一党日活动总结
2014/07/08 职场文书
简短清晨问候语
2015/11/10 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis