设为首页 收藏本站
查看: 720|回复: 0

[经验分享] Python3.2 --md5

[复制链接]

尚未签到

发表于 2015-10-26 12:39:14 | 显示全部楼层 |阅读模式
  python3.x已经把md5 module移除了。要想用md5得用hashlib module,以下是帮助手册中给的标准调用
  
  

import hashlib
m = hashlib.md5()
m.update(b"Nobody inspects the spammish repetition") #参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误
md5value=m.hexdigest()
print(md5value)  #bb649c83dd1ea5c9d9dec9a18df0ffe9
  其实可简写,如下面的md5的例子,hashlib.md5(data),就可以了
  


  但是对中文字符串md5怎么办?
  中文字符在Python中是以unicode存在的,同一个字符串在不同的编码体系下有不同的值,所以在hash前要进行编码,个人建议转为gb2312,因为对比发现,我下载的一个工具算出的md5值是与gb2312编码后算出的md5值一样。(!网上md5的工具很多,是不是所有的md5工具都是这样的,未去考证,有兴趣的可以研究一下)


  

import hashlib
data='我是'
m = hashlib.md5(data.encode(encoding='gb2312'))
print(m.hexdigest())
  
  ************************************************************************************************************************************************************************************************

python 2.7下
  

import md5
m = md5.new()
m.update("Nobody inspects the spammish repetition")
md5value=m.hexdigest()
  


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

import hashlib
h = hashlib.md5()
h.update(b"Nobody inspects ")
h.update(b"the spammish repetition")
md5value=h.hexdigest()
print(md5value)







版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-130966-1-1.html 上篇帖子: 用python处理一个文本文件 下篇帖子: python 学习笔记 1 -- 基础篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表