python 将md5转为16字节的方法
python的hashlib库中提供的hexdigest返回长度32的字符串。
直接通过digest返回的16字节,有不可打印字符。
问题来了,因为md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢?
请看下面代码
importhashlib defget_md5(s): m=hashlib.md5(s) returnm.hexdigest() defconvert_md5(origin): result=[] s="" foriinrange(len(origin)): s+=origin[i] ifi%2!=0: int_hex=int(s,16) result.append(int_hex) s="" returnresult if__name__=="__main__": sum=get_md5("helloworld") printsum printlen(sum) cv_sum=convert_md5(sum) printcv_sum printlen(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字节的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。