json模块与hashlib模块的使用

"""# json&pickle模块# 1.什么是序列化# 2.为何要有序列化# 3.如何做序列化与反序列化1.序列化指的是把内存数据类型转换成一个特定格式的内容,该格式的内容可用于存储或传输给其他平台使用内存的数据类型------》序列化-----------》特定格式(json、pickle模式)内存的数据类型《-------反序列化《---------特定格式(json、pickle模式)2.如何要有序列化?序列化得到结果----》特定格式的用途有两种用途    1.可用于存储----》用来存档    2.传输给其他平台使用-----》跨平台数据交互强调:针对用途2的特定格式:应该是一种通用,能被所有语言识别的格式json      针对用途1的特定格式:应该是一种专用的模式pickle

"""import jsonres=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 hashlibm=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 hashlibm=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

时间: 2024-11-13 09:46:09

json模块与hashlib模块的使用的相关文章

处理xml模块、configparser模块、hashlib模块、subprocess模块

xml模块 新建a.xml内容为: <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year updated="yes" version="1.0">2009</year> <gdppc>141100</gdppc> <neighbor d

包、logging模块、hashlib模块、openpyxl模块、深浅拷贝

包.logging模块.hashlib模块.openpyxl模块.深浅拷贝 一.包 1.模块与包 模块的三种来源: 1.内置的 2.第三方的 3.自定义的 模块的四种表现形式: 1.py文件 2.共享库 3.文件夹(一系列模块的结合体),即包 4.C++编译的连接到Python内置的 2.模块的导入过程 先产生一个执行文件的名称空间 1.创建模块文件的名称空间 2.执行模块文件中的代码,将产生的名字放入模块的名称空间中 3.在执行文件中拿到一个指向模块名称空间的名字 3.什么是包 它是一系列模块

day5模块学习--hashlib模块

hashlib模块     Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'.如果有人篡改了你的文章,并发表为'ho

19 python初学(os 模块,sys 模块,hashlib 模块)

os 模块: # _author: lily # _date: 2019/1/13 import os print(os.getcwd()) # 得到当前的工作目录 # print(os.chdir(r'D:\Program Files')) #改变当前的工作目录 # 这里 r 的意思是所有字符都是原生字符,避免转义 print(os.curdir) # . print(os.pardir) # .. # os.mkdir('abc') # 只能生成一个目录,不能生成嵌套的形式 # os.mkd

包,logging模块,hashlib模块,openpyxl模块,深拷贝,浅拷贝

1 包 研究模块与包 还可以站另外两个角度分析不同的问题1.模块的开发者2.模块的使用者 什么是包? 它是一系列模块文件的结合体,表示形式就是一个文件夹 该文件夹内部通常会有一个__init__.py文件 包的本质还是一个模块 首次导入包: 先产生一个执行文件的名称空间 1.创建包下面的__init__.py文件的名称空间 2.执行包下面的__init__.py文件中的代码 将产生的名字放入包下面的__init__.py文件名称空间中 3.在执行文件中拿到一个指向包下面的__init__.py文

loggin模块,hashlib模块

一.loggin模 1.日志级别 CRITICAL = 50 #FATAL = CRITICAL ERROR = 40 WARNING = 30 #WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0 #不设置 2. 默认级别为warning,默认打印到终端 import logging logging.debug('调试debug') logging.info('消息info') logging.warning('警告warn') logging.err

模块讲解---time模块,datetime模块,random模块,hashlib模块和hmac模块,typing模块,requests模块,re模块

目录 1. 包 2. time模块 ??1. 优先掌握 2. 了解 3. datetime模块 ??1. 优先掌握 4. random模块 ??1. 优先掌握 ??2. 了解 5. hashlib模块和hmac模块 6. typing模块 7. requests模块 8. re模块 ??1. re模块的正则表达式的元字符和语法 ??2. 贪婪模式和非贪婪模式 ??3. 匹配邮箱实例 ??4. re模块中的常用功能函数 ??5. 修饰符 re.S ??6. 补充 目录 \1. 包 1. 优先掌握

python模块之hashlib模块

hashlib Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过. 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难.

Python学习笔记——基础篇【第六周】——hashlib模块

常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import md5 hash = md5.new() hash.update('admin') print hash.hexdigest() MD5-废弃 import sha hash = sha.new() hash.update('admin') print hash.hexdigest() sha-废