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解码

最新文章

  1. spdk intel
  2. CSS3 perspecitve属性
  3. 百度地图api根据定位获取附近商家(只获取屏幕内)
  4. internet访问局域网内部方法之----------路由器端口映射
  5. Socket的3次握手链接与4次断开握手
  6. Dynamips做CCNA的实验,说是找不到telnet的解决方案
  7. eclipse svn插件安装
  8. Asp.Net MVC页面静态化功能实现一:利用IHttpModule和ResultFilter
  9. 昨天上架出现问题,you binary is not optimized for iphone5.。。。。
  10. linux(十)之初始化文件
  11. 【网站公告】请大家不要发表任何涉及“得到App”的内容
  12. Unity 着色过程
  13. springcloud问题随笔
  14. SpringMVC的注解方式配置
  15. centos6.5 开发环境部署(nignx1.7.10+php5.4.38+mysql+ftp)
  16. How to reset XiaoMi bluetooth headphone Youth edition.
  17. Gym
  18. Spring MVC 项目示例
  19. windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
  20. nohup 程序在后台运营 避免 xshell 卡死 通过 nohup.out分析调取系统命令时的异常分析

热门文章

  1. 阅读SQL基础教程
  2. linux系统修改用户密码报错
  3. Python爬虫(requests模块)
  4. Paper慢慢读 - AB实验人群定向 Recursive Partitioning for Heterogeneous Casual Effects
  5. cf之kmp匹配稍稍改一改
  6. ORA-12505
  7. AcWing 836. 合并集合
  8. 14.web4
  9. php 数组赋值
  10. Centos7 下cobbler安装及配置