Python hashlib
一、hashlib
- 作用
- 用于加密相关的操作:3.x里替代了md5模块和sha模块.主要提供 SHA1. SHA256. SHA384. SHA512. MD5算法
import hashlib
m1 = hashlib.md5()
m1.update(b"Yuhong")
print(m1.hexdigest())
m1.update(b"lin")
print(m1.hexdigest())
m2 = hashlib.md5()
m2.update(b"Yuhonglin")
print(m2.hexdigest()) # 16进制格式hash
print(m2.digest()) # 2 进制格式hash
"""
以上的区别:如字符一样.那么他们md5的结果一样. 思考:如果md5一个静态网页.那么就算被篡改了. 在md5进行比较时也能发现.
"""
# ------------------sha1 加密
hash01 = hashlib.sha1()
hash01.update(b"Yuhonglin")
print("SHA1...........",hash01.hexdigest())
# ------------------sha256 加密
hash02 = hashlib.sha256()
hash02.update(b"Yuhonglin")
print("SHA1...........",hash02.hexdigest())
# ------------------sha384 加密
hash03 = hashlib.sha384()
hash03.update(b"Yuhonglin")
print("SHA1...........",hash03.hexdigest())
# ------------------sha512 加密
hash04 = hashlib.sha512()
hash04.update(b"Yuhonglin")
print("SHA1...........",hash04.hexdigest())
"""
以上都是加密的.其中加密256. 一般都用256. 比md5安全.
"""
- 如果还感觉不安全的话,那么还有一个更牛逼的。如下:
- hmac:hmac是内部对我们创建 key 和 内容 再进行处理然后再加密。
- 散列消息鉴别码 简称HMAC。是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制,使用MAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥"K"来鉴别消息的真伪
- 一般用于网络通讯中消息加密,前提是双方要约定好key,就像接头暗号一样。然后消息发送把key消息加密,接收方用key + 消息明文在加密,拿加密的值 跟 发送者的相对比是否相等。这样就能验证消息的真实性及发送者的合法性。
import hmac
# 网络消息加密传输. 比256快. Yu是key Yuhonglin是内容.
h_obj = hmac.new(b'Yu',b'Yuhonglin')
print(h_obj.hexdigest())