01.hashlib
用于加密相关的操作,代替了md5模块和sha模块
主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib #1 ######## md5 ######## # 目的:实现对b"HelloIt's me" 这句话进行md5加密 m = hashlib.md5() # 1)生成一个md5加密对象 m.update(b"Hello") # 2)使用m对 b"Hello" 加密 m.update(b"It's me") # 3) 使用m对 b"It's me"加密 print(m.hexdigest()) # 4) 最终加密结果就是对b"HelloIt's me"加密的md5值:5ddeb47b2f925ad0bf249c52e342728a #2 ######## sha1 ######## hash = hashlib.sha1() hash.update(b'admin') print(hash.hexdigest()) #3 ######## sha256 ######## hash = hashlib.sha256() hash.update(b'admin') print(hash.hexdigest()) #4 ######## sha384 ######## hash = hashlib.sha384() hash.update(b'admin') print(hash.hexdigest()) #5 ######## sha512 ######## hash = hashlib.sha512() hash.update(b'admin') print(hash.hexdigest())
02.添加自定义key
以上加密算法虽然依然非常厉害,但时候存在缺陷
即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
######### hmac ######## import hmac h = hmac.new(b"123456","真实要传的内容".encode(encoding="utf-8")) print(h.digest()) print(h.hexdigest()) # 注:hmac是一种双重加密方法,前面是加密的内容,后面才是真实要传的数据信息