python 无序模块,hashlib模块
无序模块
什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中。
1,json模块
1,用于网络传输,跨语言,可用的类型有 int str 列表--》元祖会变为列表 字典--》双引号表示
2,缺点:支持的数据类型有限
1.json.dumps()
将字符创转化为bytes类型,用来传输
2.json.loads()
读取bytes类型
dic = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
lol = json.dumps(dic,ensure_ascii=False) #在网络编程中的dumps将字符串转化为十六进制的字符串类型
print(lol)
ret = json.loads(lol) #用来解读十六进制
print(ret)
3.json.dump()
文件的写入 但是当文件写入数据较多时 需要用dumps
4.json.load()
文件内容读取
f = open('233','a',encoding='utf-8')
json.dump(dic,f)#文件写入
f.close()
f1 = open('233','r',encoding='utf-8')
json.loads(f1)#文件读取
f.close()
2.pickle模块
1.在python平台之间使用,使用便利
1,pickle.dumps
2.pickle.loads
3.pockle.dump
4.pockle.load
dic = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic1 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic2 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic3 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
k = pickle.dumps(dic)
print(k)
l = pickle.loads(k)
print(l)
f = open('233','ab')
ret = pickle.dump(dic,f)
f.close()
f1 =open('233','rb')
print(pickle.load(f1))
f1.close()
f=open('233','wb')
pickle.dump(dic,f)
pickle.dump(dic1,f)
pickle.dump(dic2,f)
pickle.dump(dic3,f)
f.close()
f1 =open('233','rb')
while True:
try:
print(pickle.load(f1))
except EOFError:
break
f.close()
class A:
def __init__(self,name,age):
self.name = name
self.age = age
a = A('alex',45)
k=pickle.dumps(a) #读取所有属性, 将a对象的属性序列化
l=pickle.loads(k)
print(l.__dict__)
3.shelve模块
专有化的模块,只针对文件的读取调用。
f['']模式 4.hashlib模块
两种运用
1,在文件的校验上面,传输者和接收者的文件是否一致
2,密码的加密 分多种加密方式:
1.MD5 2.sha加密方式
1,文件的一致性校验:
在文件上传网络之后,为了校验上传的文件和之后的别人接收的文件是否一致,利用hashlib中md5的加密方式,验证两边问价加密后是否密码一致,即使文件有一个空格的不同都会使得加密后的md5密码不一样。
md5obj = hashlib.md5()
with open('file1','rb')as f:
countent = f.read() #文件加密
md5obj.update(countent)
print(md5obj.hexdigest()) 2,密文验证的时候加密
MD5加密方式, 通用的加密方式
sha文件加密方式,
password = input('>>>>')
k = hashlib.md5()
k.update(password.encode('utf-8')) m = hashlib.md5()
m.update('233'.encode('utf-8'))
if k.hexdigest() == m.hexdigest():
print('666')
else:
print('2333')
python 无序模块,hashlib模块的更多相关文章
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块
Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...
- python模块: hashlib模块, configparse模块, logging模块,collections模块
一. hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用 ...
- python模块——hashlib模块(简单文件摘要算法实现)
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # Usage: hashlib模块 import ...
- Python正则表达式与hashlib模块
菜鸟学python第十六天 1.re模块(正则表达式) 什么是正则表达式 正则表达式是一个由特殊字符组成的序列,他能帮助对字符串的某种对应模式进行查找. 在python中,re 模块使其拥有全部的正则 ...
- Python进阶-XVV hashlib模块、configparse模块、logging模块
1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...
- python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识
目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...
- python笔记7 logging模块 hashlib模块 异常处理 datetime模块 shutil模块 xml模块(了解)
logging模块 日志就是记录一些信息,方便查询或者辅助开发 记录文件,显示屏幕 低配日志, 只能写入文件或者屏幕输出 屏幕输出 import logging logging.debug('调试模式 ...
- python之路----hashlib模块
在平时生活中,有很多情况下,你在不知不觉中,就用到了hashlib模块,比如:注册和登录认证注册和登录认真过程,就是把注册用的账户密码进行:加密 --> 解密 的过程,在加密.解密过程中,用的了 ...
- python学习-59 hashlib模块
hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块 加密功能 import hashlib obj = hashlib.md5() # 如果在md5里加上自己设置的参数,别的 ...
随机推荐
- ()IT 职场经验)一位10年Java工作经验的架构师的经验分享,感觉很受用。
阿里巴巴技术大牛黄勇的经验分享,感觉很受用. 关于IT 职场经验 1. 把技术当成工具 技术这东西,其实一点都不神秘,它只不过是一个工具,用这个工具可以帮助我们解决实际问题,就这么简单. 我们每天在面 ...
- Mysql数据库导出sql脚本
1. 运行环境Centos mysqldump -h localhost -u root -p etv > ./etv.sql etv 是要导出的数据库名 > 设置导出的路径和文件名
- Spring Boot 快速入门(IDEA)
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架:SpringBoot帮助开发者快速启动一个Web容器:SpringBoot继承了原有Spring框架的优秀 ...
- Dispatcher initialization failedUnable to load configuration 解决办法
检查<package name="action" extends="struts-default"></package>中是否有exte ...
- linux service start|stop|restart
用了这么些日子的linux/unix系统,也和别人一起合作开发了不少程序,发现高手都喜欢在命令行上操作,而且控制程序的运行偏好于使用脚本,加上参数如:start.restart.stop等. 后来自己 ...
- Mac 终端 Termial 高亮配置(PS1变量配置)
操作环境: 系统:Mac 10.12 编辑器:vim 一.无脑配置: 1. 打开中端输入: vi ~/.bash_profile 2. 打开并编辑 .bash_profile 文件: 按键盘“i”,进 ...
- UnsupportedOperationException
java不支持该功能,多见于, Arrays.asList() ,然后使用remove和add方法. 因为asarraylist的集合是一个转化来的集合,它的大小是固定的.不能进行长度修改. ...
- ubuntu14.04搭建Hadoop2.9.0集群(分布式)环境
本文进行操作的虚拟机是在伪分布式配置的基础上进行的,具体配置本文不再赘述,请参考本人博文:ubuntu14.04搭建Hadoop2.9.0伪分布式环境 本文主要参考 给力星的博文——Hadoop集群安 ...
- 【Demo】CSS3 3D转换
3D转换transform rotateX() 方法 rotateX()方法,围绕其在一个给定度数X轴旋转的元素. div { transform: rotateX(120deg); -webkit- ...
- 如何发布二次开发后的openfire源码到linux服务器中
这篇文章是在你已经down了openfire的源码,然后在本地跑起来了,再然后开发了一个自己的插件,想要发布到服务器上.ok这时候出现了一个问题,怎么才能发布到服务器上呢?别急往下看: 1.运行ant ...