hashlib模块
用于加密相关的操作,在python3中替代了md5和sha模块,主要提供SHA和MD5算法。
MD5
import hashlib m = hashlib.md5() #调用md5方法 m.update(b'Hello') print(m.digest()) #b"x8bx1ax99Sxc4ax12x96xa8'xabxf8xc4xx04xd7" 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