• 06.hashlib


    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是一种双重加密方法,前面是加密的内容,后面才是真实要传的数据信息
  • 相关阅读:
    作品第二课----改变DIV任意属性的值
    今天遇到的mouseout和mouseleave之坑
    作品第二课----弹出层
    作品第二课----求数组中所有数字的和
    作品第二课----点击DIV显示其内容
    作品第二课----点击切换显示隐藏
    Linux 静态库与动态库
    Linux学习6-套接字
    Linux学习5-线程
    Linux学习4-信号
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14588084.html
Copyright © 2020-2023  润新知