hashlib 模块:加密

时间:2023-03-10 06:54:27
hashlib 模块:加密
  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)