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

    hashlib模块

    hashlib是一个加密模块:
    内置了很多算法
    - MD5(*******): 不可解密的算法(2018年以前)

    摘要算法:
    - 摘要是从某个内容中获取的加密字符串
    - 摘要一样,内容就一定一样: 保证唯一性

    - 密文密码就是一个摘要
    hash算法其实可以看成如下图所示的一座工厂,工厂接收你送来的原材料,经过加工返回的产品就是hash值

    import hashlib
    
    md5_obj = hashlib.md5()
    print(type(md5_obj))
    str1 = '1234'
    # update中一定要传入bytes类型数据
    md5_obj.update(str1.encode('utf-8'))
    
    # # 得到一个加密后的字符串
    res = md5_obj.hexdigest()
    # 202cb962ac59075b964b07152d234b70
    print(res)
    
    

    撞库破解hash算法加密

    # 以上操作撞库有可能会破解真实密码
    
    # 防止撞库问题: 加盐
    
    import hashlib
    
    
    def pwd_md5(pwd):  #
        md5_obj = hashlib.md5()
        # print(type(md5_obj))
        str1 = pwd  # '1234'
        # update中一定要传入bytes类型数据
        md5_obj.update(str1.encode('utf-8'))
    
        # 创造盐
        sal = '坦克怎么这么帅啊!'
        # 加盐
        md5_obj.update(sal.encode('utf-8'))
    
        # 得到一个加密后的字符串
        res = md5_obj.hexdigest()
        # eb1ca06cf5940e9fb6ef39100ec72c94
        return res
    
    user_str1 = f'tank:1234'
    
    user_str2 = f'tank:{res}'
    
    with open('user.txt', 'w', encoding='utf-8') as f:
        f.write(user_str2)
    
    # 模拟用户登陆操作
    
    # 获取文件中的用户名与密码
    with open('user.txt', 'r', encoding='utf-8') as f:
        user_str = f.read()
    
    file_user, file_pwd = user_str.split(':')
    
    # 用户输入用户名与密码
    username = input('请输入用户名:').strip()
    password = input('请输入密码:').strip()  # 1234
    
    # 校验用户名与密码是否一致
    if username == file_user and file_pwd == pwd_md5(password):  # pwd_md5('1234')
        print('登陆成功')
    else:
        print('登陆失败')
     
     
     
  • 相关阅读:
    将vue文件script代码抽取到单独的js文件
    git pull 提示错误:Your local changes to the following files would be overwritten by merge
    vue和uniapp 配置项目基础路径
    XAMPP Access forbidden! Access to the requested directory is only available from the local network.
    postman与newman集成
    postman生成代码段
    Curl命令
    POST方法的Content-type类型
    Selenium Grid 并行的Web测试
    pytorch转ONNX以及TnesorRT的坑
  • 原文地址:https://www.cnblogs.com/lvguchujiu/p/11881987.html
Copyright © 2011-2022 走看看