当前位置: 移动技术网 > IT编程>脚本编程>Python > Python的 json 、 hashlib 、 Base64 模块

Python的 json 、 hashlib 、 Base64 模块

2019年11月04日  | 移动技术网IT编程  | 我要评论

谁把谁当真,收官之作是什么意思,上海到九寨沟旅游

json模块

简介

全称"javascript object notation" (javascript对象表示法)它是一种基于文本,独立于语言的轻量级数据交换格式

以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象(键值对)

 

特点

轻量级的文本数据交换格式

易于人类阅读和编写,同时也易于机器解析和生成

web世界当中最理想的数据交换格式

 

语法规则

数据由键值对组成

键值对由逗号分隔

大括号里保存对象

中括号里保存数组(pyton中的的列表或元组)

 

字符串必须用双引号

 

api

json.dumps(obj)           将python数据转化为json    indent 实现缩进,ensure_ascii 是否用ascii解析 

json.loads(s)                将json数据转换为python的数据

json.dump(obj, fp)       转换为json并保存到文件中

json.load(fp)                从文件中读取json,并转化为python数据

 

 

 

hashlib模块

数据加密概念

对称加密:数据加密解密使用相同的密钥

非对称加密:加密和解密用两把不同的密钥,公钥用于加密数据,私钥用于解密数据

单向加密:只能加密数据,而不能解密数据

 

特点

定长输出:无论输入的原始数据有多长,结果长度是相同的

抗修改性:输入的微小改变,哪怕只有一个字符,也会引起结果的巨大改变

强碰撞性:很难找到两段内容不同的数据,使他们产生的hash值一致,几乎不可能

 

api

主要使用md5        其它:sha系列、blake系列

查询所有的哈希算法       hashlib.algorithms_guaranteed

hashlib.new(算法名, data=b")   生成一个使用该算法的hash对象,data为bytes类型

hashlib.算法名(data=b")      生成一个使用该算法的hash对象,data为bytes类型

hash对象.digest()        返回hash算法计算得到的值(bytes类型)

hash对象.hexdigest()          返回hash算法计算得到的值(str类型)

hash对象.update(arg=none)    更新hash对象

 

 

 

base64模块

简介

base64是一种用64个字符来表示任意二进制数据的方法(将二进制数据编码成ascii字符)

使用了a-z、a-z、0-9、 + 、 / 这64个字符

 

特点

用来将非ascii字符的数据转换成ascii字符的一种方法

常用于对url的编码

可以将不可打印的二进制数据转化为可打印的字符串

 

api

base64.b64encode(s)           对二进制数据进行base64编码

base64.b64decode(s)           对通过base64编码的数据进行解码

base64编码后的数据可能会含有 + / 两个符号,如果编码后的数据用于url或文件的系统路径中,就可能导致bug,所以base模块提供了专门编码url的方法

base64.urlsafe_ b64encode(s)        对url进行base64编码

base64.urlsafe_ b64decode(s)        对url进行base64解码

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网