您的位置:首页 > 编程语言 > Python开发

Python 加密 md5

2015-08-11 15:00 706 查看

python3.x已经把md5 module移除了。

1

import hashlib

2

m = hashlib.md5()

3

m.update(b"Nobody inspects the spammish repetition") #参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误

4

md5value = m.hexdigest()

5

print(md5value) #bb649c83dd1ea5c9d9dec9a18df0ffe9

其实可简写,如下面的md5的例子,hashlib.md5(data),就可以了

但是对中文字符串md5怎么办?

中文字符在Python中是以unicode存在的,同一个字符串在不同的编码体系下有不同的值,所以在hash前要进行编码,个人建议转为gb2312,因为对比发现,我下载的一个工具算出的md5值是与gb2312编码后算出的md5值一样。

1

import hashlib

2

data='我是'

3

m = hashlib.md5(data.encode(encoding='gb2312'))

md5(('%s%s%s%s' % (method,url,post_body,app_master_secret)).encode(encoding='utf8'))

4

print(m.hexdigest())

python 2.7下

1

import md5

2

m = md5.new()

3

m.update("Nobody inspects the spammish repetition")

4

md5value=m.hexdigest()

#value = m.digest()

关于python 下的md5用法,注意 update的叠加性(2.x 3.x)

1

h = hashlib.md5()

2

h.update(b"Nobody inspects ")

3

h.update(b"the spammish repetition")

4

md5value=h.hexdigest()

5

print(md5value)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: