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解码
  • 相关阅读:
    洛谷 P2053 :[SCOI2007]修车(拆点+最小费用流)
    LightOJ
    spark简单入门
    crontab 应用
    HttpClient的使用
    build.sbt的定义格式
    Scalatra
    SBT 构建scala eclipse开发
    mysql 存在更新,不存在插入
    Flash Vector例子
  • 原文地址:https://www.cnblogs.com/h1227/p/12607671.html
Copyright © 2011-2022 走看看