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使用Pycrypto库进行RSA加密的方法详解

密码与通信 密码技术是一门历史悠久的技术。信息传播离不开加密与解密。密码技术的用途主要源于两个方面,加密/解密和签名/验签 在信息传播中,通常有发送者,接受者和窃听者三个角色。假设发送者...

python的dict,set,list,tuple应用详解

本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下: 1.字典(dict) dict 用 {} 包围 dict....

pandas进行时间数据的转换和计算时间差并提取年月日

pandas进行时间数据的转换和计算时间差并提取年月日

#pd.to_datetime函数 #读取数据 import pandas as pd data = pd.read_csv('police.csv') #将stop_date转...

python调用c++ ctype list传数组或者返回数组的方法

示例1: pycallclass.cpp: #include <iostream> using namespace std; typedef unsigned char...

python 哈希表实现简单python字典代码实例

这篇文章主要介绍了python 哈希表实现简单python字典代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 class...