Json是各程序通用的数据格式;pickle是Python特有的,可以存储很多Python特有的数据,如函数地址等
Json的简单使用:
1 import json 2 jsondata={ 3 "user":dong", 4 namedongxiaodong 5 age":100 6 } 7 #字典(json对象)转换为字符串 8 strjson=json.dumps(jsondata) 9 print(type(strjson)) 输出:<class 'str'> 10 11 字符串转换为json对象 12 dicjson=json.loads(strjson) 13 print(dicjson["]) 输出:100
Pickle
Pickle序列化:
pickle 2 3 def funx1(valuex): 4 print(--------------- 5 6 jsondata= 7 8 9 ":10010 funx":funx1 保存函数地址,函数地址是以函数名确定的 12 序列化,将字典转换为byte对象 14 bytejson=pickle.dumps(jsondata) 15 print(type(bytejson)) 输出:<class 'bytes'> 16 17 保存到文件中 18 open(ww.txt",wb").write(bytejson)
Pickle反序列化:
pickle 必须有序列化相同的函数名,只要函数名相同即可,参数任意 funx1(): **********) strjson=open(rb).read() 字符串转换为json对象 dicjson=pickle.loads(strjson) 输出:100 dicjson["]() 调用函数,输出:**********
Shelve(对pickle的上层封装)
序列化
shelve 打开文件 s=shelve.open(fileshelve) 建立列表数据 listx=[112233] 保存数据 s[listx"]=listx s["]= s[" 关闭文件 s.close()
反序列化:
print(s.get(")) 输出:['11','22','33'] 输出:dongxiaodong 关闭文件 s.close()
加密与解密:
Base64 可逆
base64 加密 en=base64.b64encode(".encode(utf-8)) print(en.decode(")) 输出字符串:ZG9uZ3hpYW9kb25n 解密 de=base64.b64decode(en).decode() print(de) 输出字符串:dongxiaodong
md5 不可逆
hashlib 方法一 mx=hashlib.md5() s生成md5对象 mx.update(b") 添加内容,拼接内容 mx.update(bdd 输出十六进制格式 print(mx.hexdigest()) 输出:f67d530272ebb0cf17ec7cdf2372b6cb 方法二 mx2=hashlib.md5(bdongxiaodongdd) print(mx2.hexdigest()) 输出:f67d530272ebb0cf17ec7cdf2372b6cb
Sha1 不可逆
hashlib s=hashlib.sha1() s.update(bprint(s.hexdigest()) 输出:6a878a19687fc95d76f602d1580b54e0f0d2b88d
Hmac
键值对进行加密
hmac 参数(键,值) h=hmac.new(b如果存在中文,则需要使用encode #h=hmac.new(b"dd","东小东dd".encode("utf-8")) print(h.hexdigest())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。