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冒泡排序算法的实现代码

1.算法描述:(1)共循环 n-1 次(2)每次循环中,如果 前面的数大于后面的数,就交换(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。 2.python冒泡排序代码 复...

Python 使用 Pillow 模块给图片添加文字水印的方法

Python 使用 Pillow 模块给图片添加文字水印的方法

像微博一类的平台上传图片时,平台都会添加一个水印,宣誓着对图片的所有权,我们自己的博客平台也可以给自己的图片添加上水印。 还是用 Pillow 模块来实现 先来看一个简单的例子 &g...

python进程的状态、创建及使用方法详解

本文实例讲述了python进程的状态、创建及使用方法。分享给大家供大家参考,具体如下: 进程以及状态 1. 进程 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,...

python二分法实现实例

1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,...

python join方法使用详解

join方法 join这个方法,将可迭代的数据类型,转为字符串或者bytes,没错可以转为bytes类型。注意这个可迭代的数据中的元素必须是相同类型的。 jion里的参数可迭代对象就行...