Python 加密 md5

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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值