python 将md5转为16字节的方法

yipeiwu_com6年前Python基础

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 unittest模块用法实例分析

本文实例讲述了Python unittest模块用法。分享给大家供大家参考,具体如下: python的unittest模块提供了一个测试框架,只要我们写一个继承unittest.Test...

对numpy中的transpose和swapaxes函数详解

transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数。 我们看如下一个numpy的数组: `arr=np.arange(16)...

python使用str & repr转换字符串

可能比较 low 还是记录一下: str 和 repr的使用过程 str 是一个类型 (int, long 类似), 同样她也可以作为一个工厂方法 实例一个 string re...

Django使用消息提示简单的弹出个对话框实例

Django使用消息提示简单的弹出个对话框实例

1、下面就来介绍一下如何简单的显示一个消息提示,好像js可以控制,不过这里用了django.contrib.messages这个库 2、首先呢,在项目的settings.py有默认配置...

用Python遍历C盘dll文件的方法

python 的fnmatch 还真是省心,相比于 java 中的FilenameFilter ,真是好太多了,你完成不需要去实现什么接口。 fnmatch 配合 os.walk() 或...