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
import hashlib
print '-' * 25, '更简洁版本', '-' * 25
print hashlib.new("md5", "I am Sin_Geek").hexdigest()
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()