浮躁是人生最大的敌人

hashlib 模块:加密

Posted on 2019-04-25 08:21  King'home  阅读(183)  评论(0编辑  收藏  举报
  1 import hashlib
  2 # 基本使用
  3 cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))
  4 print(cipher.hexdigest())  # 加密结果码
  5 
  6 # 加盐
  7 cipher = hashlib.md5()
  8 cipher.update('前盐'.encode('utf-8'))
  9 cipher.update('需要加密的数据'.encode('utf-8'))
 10 cipher.update('后盐'.encode('utf-8'))
 11 print(cipher.hexdigest())  # 加密结果码
 12 
 13 # 其他算法
 14 cipher = hashlib.sha3_256(b'')
 15 print(cipher.hexdigest())
 16 cipher = hashlib.sha3_512(b'')
 17 print(cipher.hexdigest())

hmac 模块:加密

  1 ##
  2 
  3 ```python
  4 # 必须加盐
  5 cipher = hmac.new('盐'.encode('utf-8'))
  6 cipher.update('数据'.encode('utf-8'))
  7 print(cipher.hexdigest())
  8 ```

shell模块操作指令

"""
    subprocess模块
        sub       子
        process  进程
    什么是进程
        正在进行中的程序   每当打开一个程序就会开启一个进程
        每个进程包含运行程序所需的所有资源
        正常情况下 不可以跨进程访问数据
        但是有些情况写就需要访问别的进程数据   提供一个叫做管道的对象 专门用于跨进程通讯

    作用:用于执行系统命令

    常用方法
        run     返回一个表示执行结果的对象
        call    返回的执行的状态码

    总结  subprocess的好处是可以获取指令的执行结果
          subprocess执行指令时 可以在子进程中 这样避免造成主进程卡死
    注意 管道的read方法和文件的read有相同的问题 read后光标会到文件末尾 导致第二次无法read到数据

 

"""

  1 import subprocess
  2 
  3 # subprocess.run('dir', shell=True)
  4 
  5 order = subprocess.Popen('dir1',
  6                          shell=True,
  7                          # 存放指令执行成功的信息管道
  8                          stdout=subprocess.PIPE,
  9                          # 存放指令执行失败的信息管道
 10                          stderr=subprocess.PIPE
 11                          )
 12 print(order.stdout)
 13 # success_msg = order.stdout.read().decode('GBK')
 14 # print(success_msg)
 15 # error_msg = order.stderr.read().decode('GBK')
 16 # print(error_msg)
 17 # 实际项目中,会接着对success_msg加以分析处理
 18 
 19 
 20 order = subprocess.run('dir',
 21                        shell=True,
 22                        # 存放指令执行成功的信息管道
 23                        stdout=subprocess.PIPE,
 24                        # 存放指令执行失败的信息管道
 25                        stderr=subprocess.PIPE
 26                        )
 27 print(order.stdout)
 28 # success_msg = order.stdout.decode('GBK')
 29 # print(success_msg)
 30 # error_msg = order.stderr.decode('GBK')
 31 # print(error_msg)

Copyright © 2024 King'home
Powered by .NET 8.0 on Kubernetes