python 将md5转为16字节的方法
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的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序. 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或print函数可以答应出数组中的每个元素: 如果数组的容量过大,只能打印出数组的部分元素,打印结果只包含开始部分元素和结尾部分元素,中间元素省略.省略的部分不利于程序的调试: 因此,为了方便调试程序,需要将数组中的元素全部打印出来. 1. 少量元素情况 #打印数组中的元素 import numpy
-
对python以16进制打印字节数组的方法详解
一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印的结果,很明显,第一个字节0x7b就被转换成'{'了. 三.代码 那么,如何输入上图中最后一行的格式呢,很简单: def print_hex(bytes): l = [hex(int(i)) for i in bytes] print(" ".join(l)) 以上这篇对python以16进制打印字节数组的方法详解就是小编分享给大家的全
-
python字符串str和字节数组相互转化方法
实例如下: # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8") # an alternative method # str to bytes str.encode(s) # bytes to str
-
python 文件转成16进制数组的实例
如下所示: #! /usr/bin/python2 # coding=utf-8 import numpy import binascii if __name__=='__main__': #my_matrix = numpy.loadtxt(open("d:\\local.pcm", "rb"), delimiter=",", skiprows=0) #print my_matrix with open('d:\\local.pcm', 'rb
-
Python实现将16进制字符串转化为ascii字符的方法分析
本文实例讲述了Python实现将16进制字符串转化为ascii字符的方法.分享给大家供大家参考,具体如下: 字符串456e633064316e675f31735f66336e,通过Python,按照两个字符,例如45,6e,63形式变成ascii码格式,输出acsii码格式的字符串. 代码如下: a = "456e633064316e675f31735f66336e" ''.join([chr(int(b, 16)) for b in [a[i:i+2] for i in range(
-
Python简单实现TCP包发送十六进制数据的方法
本文实例讲述了Python简单实现TCP包发送十六进制数据的方法.分享给大家供大家参考,具体如下: 举例: 0x12, 0x34可以直接拼成 "\x12\x34". 客户端代码示例: #-*- encoding: utf-8 -*- import json import socket import sys import binascii reload(sys) sys.setdefaultencoding('utf-8') if __name__=="__main__&quo
-
python 以16进制打印输出的方法
打印整数16进制 num=10 print('%#x'%num) 打印字符串中的16进制 arr='12342535' for i in arr: print('%#x'%ord(i)) 以上这篇python 以16进制打印输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python 将md5转为16字节的方法
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
-
Python生成MD5值的两种方法实例分析
本文实例讲述了Python生成MD5值的两种方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import datetime # NO.1 使用MD5 import md5 src = 'this is a md5 test.' m1 = md5.new() m1.update(src) print m1.hexdigest() 运行结果: 174b086fc6358db6154bd951a8947837 # -*- coding:utf-8 -*- # NO
-
python时间序列数据转为timestamp格式的方法
在此记录自己学习python数据分析过程中学到的一些数据处理的小技巧. 1.数据的读取 #导入numpy库和pandas库 import numpy as np import pandas as pd #读取待处理的数据 #file_path为文件路径名,sheet_name为需要读取的excel数据页 data=pd.read_excel(file_path,sheet_name) #显示数据前5行 data.head() 数据读取的结果: 由读取结果可以看出,时间序列数据并不规范,需要做进一
-
python将图片转为矢量图的方法步骤
本文主要介绍了python图片转为矢量图,分享给大家,具体如下: import numpy as np import matplotlib.pyplot as plt import cv2 fig, ax = plt.subplots() plt.figure(1) image=cv2.imread("2.jpg") # you can specify the marker size two ways directly: # 这样一个一个像素太慢了故而要将同样颜色的坐标进行分类处理 c
-
python将unicode转为str的方法
问题: 将u'\u810f\u4e71'转换为'\u810f\u4e71' 方法: s_unicode = u'\u810f\u4e71' s_str = s_unicode.encode('unicode-escape').decode('string_escape') 以上这篇python将unicode转为str的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python中将zip压缩包转为gz.tar的方法
由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格式的文件发给我来重新压缩成gz.tar格式发给他,能偷懒就不想动手,就用python的tarfile和zipfile包完成了一个将zip转换成gz.tar格式的小脚本: 代码比较简单,也就几行,但是写的时候因为绝对路径的问题浪费了点时间,代码水平还是有待提高. #coding: utf-8 import os import tarfile import zi
-
在python中将字符串转为json对象并取值的方法
如下所示: string =" { "status": "error", "messages": ["Could not find resource or operation 'BZK1.MapServer' on the system."], "code": 404 }" print '对象:' string print '取值:' json.loads(string)['code']
-
python将list转为matrix的方法
如下所示: import numpy as np tmp = [[1,2,3],[4,5,6],[7,8,9]]; np.matrix(tmp) 以上这篇python将list转为matrix的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Python任意字符串转16, 32, 64进制的方法
Python字符串转数字 import binascii s = 'test123456test' str_16 = binascii.b2a_hex(s.encode('utf-8')) # 字符串转16进制 print(str_16) def baseN(num, b): return ((num == 0) and "0") or \ (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklm
-
python文件转为exe文件的方法及用法详解
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载
随机推荐
- 深入解析JavaScript框架Backbone.js中的事件机制
- 饺子的发明
- sqlserver,sqlite,access数据库链接字符串整理
- 浅谈Angular.js中使用$watch监听模型变化
- JSON中key动态设置及JSON.parse和JSON.stringify()的区别
- Angularjs结合Bootstrap制作的一个TODO List
- 关于延迟加载JavaScript
- javascript实现多张图片左右无缝滚动效果
- 浅谈Java中的可变参数
- 在Python中操作文件之truncate()方法的使用教程
- python利用正则表达式搜索单词示例代码
- PHP实现图片裁剪、添加水印效果代码
- php简单统计字符串单词数量的方法
- 写入文本文件的过程函数(ASP)
- Android实现学生管理系统
- php警告Creating default object from empty value 问题的解决方法
- Shell中特殊字符的用法总结大全
- AJAX +SpringMVC 实现bootstrap模态框的分页查询功能
- 神奇的代码 通杀各种网站-可随意修改复制页面内容
- 基于接口实现java动态代理示例