python模块详解 hashlib

时间:2022-06-29 04:25:47

hashlib模块  

用于加密相关的操作,在python3中替代了md5和sha模块,主要提供SHA和MD5算法。

 MD5

import hashlib

m = hashlib.md5() #调用md5方法
m.update(b'Hello')
print(m.digest()) #b"\x8b\x1a\x99S\xc4a\x12\x96\xa8'\xab\xf8\xc4x\x04\xd7" 2进制格式hash
print(m.hexdigest()) #8b1a9953c4611296a827abf8c47804d7 16进制格式hash

 update()加密字符串,连续加密的结果是多个字符串拼接后加密的结果

import hashlib

m = hashlib.md5()
m2 = hashlib.md5()
m.update(b'Hello')
m.update(b'World')
print(m.hexdigest()) #68e109f0f40ca72a15e05cc22786f8e6

m2.update(b'HelloWorld')
print(m2.hexdigest())#68e109f0f40ca72a15e05cc22786f8e6

 SHA1

调用方法和md5的一样

s1 = hashlib.sha1()
s1.update(b'Hello')
print(s1.hexdigest())#f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

hmac

内部创建key和内容再进行处理然后加密

import hmac
h = hmac.new(b'123456','Hello'.encode(encoding='utf-8')) #key,value
print(h.hexdigest()) #8d8e945298c899a7eb03fede467121fe