json模块与hashlib模块的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了json模块与hashlib模块的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1798字,纯文字阅读大概需要3分钟。
内容图文
"""
# json&pickle模块
# 1.什么是序列化
# 2.为何要有序列化
# 3.如何做序列化与反序列化
1.序列化指的是把内存数据类型转换成一个特定格式的内容,该格式的内容
可用于存储或传输给其他平台使用
内存的数据类型------》序列化-----------》特定格式(json、pickle模式)
内存的数据类型《-------反序列化《---------特定格式(json、pickle模式)
2.如何要有序列化?
序列化得到结果----》特定格式的用途有两种用途
1.可用于存储----》用来存档
2.传输给其他平台使用-----》跨平台数据交互
强调:针对用途2的特定格式:应该是一种通用,能被所有语言识别的格式json
针对用途1的特定格式:应该是一种专用的模式pickle
"""
import json
res=json.dumps([1,‘aaa‘,True,False])
print(res,type(res))#[1, "aaa", true, false] <class ‘str‘>
res=json.loads(res)
print(res,type(res))#[1, ‘aaa‘, True, False] <class ‘list‘>
# 将序列化结果写入文件简单方法
with open("test.json","wt",encoding="utf-8")as f:
json.dump([666,‘yoona‘,False,True],f)
with open("test.json","rt",encoding="utf-8")as f:
res=json.load(f)
print(res)
#json验证:json格式兼容的是所有语言通用的数据类型,不能识别单一语言类型
# json.jumps({1,2,3,6,4})
#json强调:搞清楚json格式,不要与python混淆
"""
1.什么是哈希hash?
hash是一种算法,该算法接收传入的内容,经过运算得到一串hash值
hash值的特点:
1.1传入的内容一样,得到的hash值必然一样
1.2不能由hash值反解成内容
1.3只要使用的hash算法不变,得到的hash值长度是一定的
2.hash的用途
12345abc------>hash字符串
客户端-------hash字符串----------服务端
hash值即密文密码
特点1.2用于密码密文传输与验证
特点1.1与1.3用于文件完整性校验
3.如何用?
"""
# 原材料---------hash工厂---------hash值
"""
import hashlib
m=hashlib.md5()
m.update("hello".encode("utf-8"))
m.update(b"world")
res=m.hexdigest()
print(res)
# 利用撞库破解密码
import hashlib
# res=hashlib.md5(b"yoona123")
# res=res.hexdigest()
# print(res)
dic={}
pwd="a26bdd1136c3401ed70d8e45a6c52751"
passwords=["yoo12na3","yo12ona3","321noyao","yoona123","yoo321na"]
for i in passwords:
res=hashlib.md5(i.encode("utf-8"))
dic[i]=res.hexdigest()
print(dic)
for k,v in dic.items():
if v==pwd:
print("密码破解成功!密码是%s"%k)
break
"""
#提升撞库成本 ----》密码加盐
import hashlib
m=hashlib.md5()
m.update("烟笼寒水月笼纱".encode("utf-8"))
m.update("hello".encode("utf-8"))
m.update("夜泊秦淮近酒家".encode("utf-8"))
print(m.hexdigest())
原文:https://www.cnblogs.com/mayrain/p/12607042.html
内容总结
以上是互联网集市为您收集整理的json模块与hashlib模块的使用全部内容,希望文章能够帮你解决json模块与hashlib模块的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。