hashlib模块
用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
1 import hashlib 2 3 m = hashlib.md5() 4 m.update(b"Hello") 5 m.update(b"It's me") 6 print(m.digest()) 7 m.update(b"It's been a long time since last time we ...") 8 9 print(m.digest()) #2进制格式hash 10 print(len(m.hexdigest())) #16进制格式hash 11 12 import hashlib 13 14 m2 =hashlib.md5() 15 m2.update('爆胎镇河妖'.encode(encoding='utf-8')) ##中文需要.encode(encoding='utf-8') 16 print(m2.hexdigest)
1 import hashlib 2 3 # ######## md5 ######## 4 5 hash = hashlib.md5() 6 hash.update('admin') 7 print(hash.hexdigest()) 8 9 # ######## sha1 ######## 10 11 hash = hashlib.sha1() 12 hash.update('admin') 13 print(hash.hexdigest()) 14 15 # ######## sha256 ######## 16 17 hash = hashlib.sha256() 18 hash.update('admin') 19 print(hash.hexdigest()) 20 21 22 # ######## sha384 ######## 23 24 hash = hashlib.sha384() 25 hash.update('admin') 26 print(hash.hexdigest()) 27 28 # ######## sha512 ######## 29 30 hash = hashlib.sha512() 31 hash.update('admin') 32 print(hash.hexdigest()) 33
还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。
使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。
1 import hmac 2 h=hmac.new('天王盖地虎'.encode(encoding='utf-8'),'小鸡炖蘑菇'.encode(encoding='utf-8')) 3 print(h.digest()) 4 print(h.hexdigest())
import hashlib
m2 =hashlib.md5()
m2.update('爆胎镇河妖'.encode(encoding='utf-8'))
print(m2.hexdigest)