day5-hashlib
hashlib模块
hashlib: 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 (sha越往后越加密),MD5 算法
1. md5加密
1 import hashlib 2 3 m = hashlib.md5() 4 # update会拼接前面字符与现在字符的MD5值组成新的MD5值 5 m.update("Hello") 6 m.update("It's me") 7 # 这里是"Hello" + "It's me" 的MD5值 8 # 2进制格式hash 9 print(m.digest()) 10 # 16进制格式hash 11 print(m.hexdigest()) 12 13 ]{/�Zп$�R�Br� 14 5ddeb47b2f925ad0bf249c52e342728a
2. sha加密
1 import hashlib 2 3 # 即将弃用 4 # ######## sha1 ######## 5 hash = hashlib.sha1() 6 hash.update('admin') 7 print(hash.hexdigest()) 8 9 # ######## sha256 ######## 10 hash = hashlib.sha256() 11 hash.update('admin') 12 print(hash.hexdigest()) 13 14 # ######## sha384 ######## 15 hash = hashlib.sha384() 16 hash.update('admin') 17 print(hash.hexdigest()) 18 19 # ######## sha512 ######## 20 hash = hashlib.sha512() 21 hash.update('admin') 22 print(hash.hexdigest()) 23 24 d033e22ae348aeb5660fc2140aec35850c4da997 25 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 26 9ca694a90285c034432c9550421b7b9dbd5c0f4b6673f05f6dbce58052ba20e4248041956ee8c9a2ec9f10290cdc0782 27 c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec
3. hmac模块,内部对key 和 内容 再进行处理然后再加密,一般用于网络通信中消息加密
1 import hmac 2 hash = hmac.new("name", "ww") 3 print(hash.hexdigest()) 4 5 d8656f1c79d6cdbbecdbf9e16d5903d1

浙公网安备 33010602011771号