json,pickle,configparser,hashlib,subprocess
2021-03-29 13:26
标签:sub aaa read section 获得 兼容 接受 font with open json: 序列化:把内存的数据类型转换成一个特定的格式内容,这种格式可以存储或者传输给其他平台 强调: json强调:识别不了set,tuple pickle: configparser: hashlib: subprocess: json,pickle,configparser,hashlib,subprocess 标签:sub aaa read section 获得 兼容 接受 font with open 原文地址:https://www.cnblogs.com/zhenghuiwen/p/12607400.html内存中的数据 ----> 序列化 ----> 特定的格式(json,pickle)
内存中的数据
import json
# 序列化
json_res=json.dumps([1,‘aaa‘,True,False])
# print(json_res,type(json_res)) # "[1, "aaa", true, false]"
# 反序列化
l=json.loads(json_res)
print(l,type(l))
import json
# 序列化的结果写入文件的复杂方法
json_res=json.dumps([1,‘aaa‘,True,False])
# print(json_res,type(json_res)) # "[1, "aaa", true, false]"
with open(‘test.json‘,mode=‘wt‘,encoding=‘utf-8‘) as f:
f.write(json_res)
# 将序列化的结果写入文件的简单方法
with open(‘test.json‘,mode=‘wt‘,encoding=‘utf-8‘) as f:
json.dump([1,‘aaa‘,True,False],f)
# 从文件读取json格式的字符串进行反序列化操作的复杂方法
with open(‘test.json‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
json_res=f.read()
l=json.loads(json_res)
print(l,type(l))
# 从文件读取json格式的字符串进行反序列化操作的简单方法
with open(‘test.json‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
l=json.load(f)
print(l,type(l))
import pickle
res=pickle.dumps({1,2,3,4,5})
print(res,type(res)) #得到一个二进制
s=pickle.loads(res)
print(s,type(s)) # 返回一个set
import configparser
config=configparser.ConfigParser()
config.read(‘test.ini‘)
# 1、获取sections
print(config.sections())
# 2、获取某一section下的所有options
print(config.options(‘section1‘))
# 3、获取items
print(config.items(‘section1‘))
# 4、获得section下的user
res=config.get(‘section1‘,‘user‘)
print(res,type(res))
# 5、获得section下的age
res=config.getint(‘section1‘,‘age‘)
print(res,type(res))
import hashlib
m=hashlib.md5()
m.update(‘hello‘.encode(‘utf-8‘))
m.update(‘world‘.encode(‘utf-8‘))
res=m.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())
import subprocess
obj = subprocess.Popen(‘tasklist‘, shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,)
print(obj)
res = obj.stdout.read()
print(res.decode(‘gbk‘))
err_res = obj.stderr.read()
print(err_res.decode(‘gbk‘))
文章标题:json,pickle,configparser,hashlib,subprocess
文章链接:http://soscw.com/index.php/essay/69537.html