Python模块学习笔记— —hashlib

时间:2022-03-12 22:38:51

hashlib是涉及安全散列和消息摘要,提供多个不同的加密算法接口,如SHA1、SHA224、SHA256、SHA384、SHA512、MD5等。

常用属性

hashlib.algorithms
列出所有加密算法

h.digest_size
产生的散列字节大小。

h.block_size
哈希内部块的大小

常用方法

hash.new([arg])
创建指定加密模式的hash对象

hash.update(arg)
更新哈希对象以字符串参数。如果同一个hash对象重复调用该方法,m.update(a); m.update(b) 等价于 m.update(a+b)

hash.digest()
返回摘要,作为二进制数据字符串值。

hash.hexdigest()
返回摘要,作为十六进制数据字符串值

hash.copy()
复制

代码实例

import hashlib
md5 = hashlib.md5()
md5.update("I am Sin_Geek")
print md5.digest()
print md5.hexdigest()
print 'block_size:', md5.block_size
print 'digest_size:', md5.digest_size

Python模块学习笔记— —hashlib

import hashlib
print '-' * 25, '更简洁版本', '-' * 25
print hashlib.new("md5", "I am Sin_Geek").hexdigest()

Python模块学习笔记— —hashlib

import hashlib
a = "I am Sin_Geek"
print hashlib.md5(a).hexdigest()
print hashlib.sha1(a).hexdigest()
print hashlib.sha224(a).hexdigest()
print hashlib.sha256(a).hexdigest()
print hashlib.sha384(a).hexdigest()
print hashlib.sha512(a).hexdigest()

Python模块学习笔记— —hashlib