zoukankan      html  css  js  c++  java
  • hashlib模块

    import hashlib 
    md = hashlib.md5()
    md.update(pwd)
    pwd = md.hexdigest()
    hashlib模块 加密的模块
    import hashlib  # 这个加密的过程是无法解密的
    md = hashlib.sha3_256()  # 生成一个帮你造密文的对象
    # md.update('hello'.encode('utf-8'))  # 往对象里传明文数据  update只能接受bytes类型的数据
    md.update(b'Jason_@.')  # 往对象里传明文数据  update只能接受bytes类型的数据
    print(md.hexdigest())  # 获取明文数据对应的密文
    
    撞库
    """
    1.不用的算法 使用方法是相同的
    密文的长度越长 内部对应的算法越复杂
    但是
        1.时间消耗越长
        2.占用空间更大
    通常情况下使用md5算法 就可以足够了
    """
    
    
    import hashlib
    # 传入的内容 可以分多次传入 只要传入的内容相同 那么生成的密文肯定相同
    md = hashlib.md5()
    md.update(b'areyouok?')
    md.update(b'are')
    md.update(b'you')
    md.update(b'ok?')
    print(md.hexdigest())  # 408ac8c66b1e988ee8e2862edea06cc7
    408ac8c66b1e988ee8e2862edea06cc7
    """
    hashlib模块应用场景
        1.密码的密文存储
        2.校验文件内容是否一致
    """
    
    加盐处理
    import hashlib
    
    md = hashlib.md5()
    # 公司自己在每一个需要加密的数据之前 先手动添加一些内容
    md.update(b'oldboy.com')  # 加盐处理
    md.update(b'hello')  # 真正的内容
    print(md.hexdigest())
    
    
    动态加盐
    
    import hashlib
    
    def get_md5(data):
        md = hashlib.md5()
        md.update('加盐'.encode('utf-8'))
        md.update(data.encode('utf-8'))
        return md.hexdigest()
    
    
    password = input('password>>>:')
    res = get_md5(password)
    print(res)
    hashlib详解
  • 相关阅读:
    sql中触发器的使用
    sql中优化查询
    sql中case when语句的使用
    CSRF学习小结
    javascript正则表达式笔记
    elementUI单选框获取值
    elementUI内置过渡(折叠)
    elementUI内置缩放过渡(缩放)
    elementUi内置过渡动画(淡入)
    创建koa2项目
  • 原文地址:https://www.cnblogs.com/cmd61/p/11215324.html
Copyright © 2011-2022 走看看