Python的hashlib模块学习
2015-06-28 17:12
483 查看
python的hashlib模块提供一些常用的加密功能
例如获取字符串'Nobody inspects the spammish repetition'的MD5校验值
这里定义一个HASH对象m,使用hashlib模块提供的md5()函数,还可以是
md5(), sha1(), sha224(), sha256(), sha384(), and sha512()
也可以根据操作系统提供的HASH算法,使用new()选择OpenSSL库提供的加密算法
sha384和sha512在32位系统上使用会比较慢
update(arg) 更新HASH对象,重复使用update(arg)等价于一次更新多个字符串的组合
m.update(a)和m.update(b)等价于m.update(a+b)
digest() 返回加密后的字符串
hexdigest() 返回加密码后的16进制字符串
digest_size 是加密后的哈希值字节
block_size 数据块大小
案例:
参考文章:
https://docs.python.org/2.6/library/hashlib.html
本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1668757
例如获取字符串'Nobody inspects the spammish repetition'的MD5校验值
In [48]: import hashlib In [49]: m=hashlib.md5() In [50]: m.update('Nobody inspects') In [51]: m.update('the spammish repetition') In [52]: m.digest() Out[52]: '%\x8d3\xf9,:k\xe0?\xbb0+\xc4K\x94S' In [53]: m.digest_size Out[53]: 16 In [54]: m.block_size Out[54]: 64 In [55]: m.hexdigest() Out[55]: '258d33f92c3a6be03fbb302bc44b9453' In [56]: m.digest_size Out[56]: 16 In [57]: m.block_size Out[57]: 64
这里定义一个HASH对象m,使用hashlib模块提供的md5()函数,还可以是
md5(), sha1(), sha224(), sha256(), sha384(), and sha512()
也可以根据操作系统提供的HASH算法,使用new()选择OpenSSL库提供的加密算法
sha384和sha512在32位系统上使用会比较慢
update(arg) 更新HASH对象,重复使用update(arg)等价于一次更新多个字符串的组合
m.update(a)和m.update(b)等价于m.update(a+b)
digest() 返回加密后的字符串
hexdigest() 返回加密码后的16进制字符串
digest_size 是加密后的哈希值字节
block_size 数据块大小
案例:
def getMd5(strFile): fh=open(strFile,"rb") m=md5() strRead="" while True: strRead=fh.read() if not strRead: break m.update(strRead) strMd5=m.hexdigest() if fh: fh.close() return strMd5 print getMd5(__file__)
参考文章:
https://docs.python.org/2.6/library/hashlib.html
本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1668757
相关文章推荐
- 飘逸的python - __new__、__init__、__call__傻傻分不清
- python实现的用于搜索文件并进行内容替换的类实例
- python实现简单ftp客户端的方法
- python生成uuid,并去掉中间的'-'
- 飘逸的python - 单例模式乱弹
- Python日志库的用法
- 基于进程内通讯的python聊天室实现方法
- python实现的简单RPG游戏流程实例
- 《Python核心编程》函数---学习笔记
- python实现自动登录人人网并采集信息的方法
- 如何学习python
- Python实现将绝对URL替换成相对URL的方法
- python __str__ & __repr__ & __cmp__
- MYSQL(python)安装记录
- python实现将html表格转换成CSV文件的方法
- 在Ubuntu 14.04 64bit上安装numpy和matplotlib库
- 使SourceInsight支持Python语言的方法
- python global vs nonlocal (2)
- python3 nonlocal vs global
- python购物淫秽数据分析(2)