Python hashlib

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()) 
posted @ 2018-12-13 22:21  HonGIm  阅读(138)  评论(0)    收藏  举报