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

    # 1、什么是哈希hash
    # hash一类算法,该算法接受传入的内容,经过运算得到一串hash值
    # hash值的特点:
    # I 只要传入的内容一样,得到的hash值必然一样
    # II 不能由hash值返解成内容
    # III 不管传入的内容有多大,只要使用的hash算法不变,得到的hash值长度是一定

    # 2、hash的用途
    # 用途1:特点II用于密码密文传输与验证
    # 用途2:特点I、III用于文件完整性校验

    # 3、如何用
    # import hashlib
    #
    # m=hashlib.md5()
    # m.update('hello'.encode('utf-8'))
    # m.update('world'.encode('utf-8'))
    # res=m.hexdigest() # 'helloworld'
    # print(res)
    #
    # m1=hashlib.md5('he'.encode('utf-8'))
    # m1.update('llo'.encode('utf-8'))
    # m1.update('w'.encode('utf-8'))
    # m1.update('orld'.encode('utf-8'))
    # res=m1.hexdigest()# 'helloworld'
    # print(res)



    # 模拟撞库
    # cryptograph='aee949757a2e698417463d47acac93df'
    # import hashlib
    #
    # # 制作密码字段
    # passwds=[
    # 'alex3714',
    # 'alex1313',
    # 'alex94139413',
    # 'alex123456',
    # '123456alex',
    # 'a123lex',
    # ]
    #
    # dic={}
    # for p in passwds:
    # res=hashlib.md5(p.encode('utf-8'))
    # dic[p]=res.hexdigest()
    #
    # # 模拟撞库得到密码
    # for k,v in dic.items():
    # if v == cryptograph:
    # print('撞库成功,明文密码是:%s' %k)
    # break


    # 提升撞库的成本=>密码加盐
    import hashlib

    m=hashlib.md5()

    m.update('天王'.encode('utf-8'))
    m.update('alex3714'.encode('utf-8'))
    m.update('盖地虎'.encode('utf-8'))
    print(m.hexdigest())




    subprocess模块
    subprocess使用当前系统默认编码,得到结果为bytes类型,在windows下需要用gbk解码
    import subprocess

    obj=subprocess.Popen('echo 123 ; ls / ; ls /root',shell=True,
    stdout=subprocess.PIPE, #正确的管道
    stderr=subprocess.PIPE, #错误的管道
    )
    # print(obj)
    # res=obj.stdout.read()
    # print(res.decode('utf-8'))

    err_res=obj.stderr.read()
    print(err_res.decode('gbk')) # windows下需要用gbk解码mac、linux用utf-8解码
  • 相关阅读:
     非法字符 原因 以及解决办法
    Windows Server 2008 R2 报错事件ID:10之WMI报错
    dig常用命令
    Windows系统下安装dig命令
    ueditor 编辑器的配置 实现上传图片---附效果图
    jquery.lazyload.js图片延迟加载(懒加载)--转载
    linux开机启动及运行级别、root密码丢失、单用户模式只读的处理方法
    储存与RAID--独立磁盘阵列
    tar命令打包和压缩与解压
    linux文件描述符、软硬连接、输入输出重定向
  • 原文地址:https://www.cnblogs.com/h1227/p/12607671.html
Copyright © 2011-2022 走看看