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

Python的 json 、 hashlib 、 Base64 模块的更多相关文章

  1. python(6)- json和pickle模块

    这是用于序列化的两个模块: json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps ...

  2. python基础-json、pickle模块

    json.pickle区别 总结: """ json: 1.不是所有的数据类型否可以序列化,序列化返回结果为字符串 2.不能多次对同一文件序列化 3.json数据可以跨语 ...

  3. python之json、pickle模块

    一.json模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候, ...

  4. python值json与pickle模块

    #json 是用来序列化对象的 # 只有2个方法,序列化与反序列化 # 但是不能序列化类 与 函数 import json dict={"key1":[1,2,3,4,5]} f ...

  5. python 之 json 与pickle 模块

    序例化:将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML.JSON或特定格式的字节串)的过程称为序列化:反之,则称为反序列化. 1.[JSON] import json dic={ ...

  6. python中常用的base64 md5 aes des crc32等的加密解密

    1.base64 Python内置的base64模块可以实现base64.base32.base16.base85.urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形 ...

  7. 常用模块之 os,json,shelve,xml模块

    os 即操作系统 在 os 中提供了很多关于文件,文件夹,路径处理的函数 这是我们学习的重点 os.path 是os模块下专门用于处理路径相关的 python是一门跨平台语言,由于每个平台路径规则不同 ...

  8. Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  9. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

随机推荐

  1. 简单sql注入学到的延时盲注新式攻击

    0x01 知识点 mysql_pconnect(server,user,pwd,clientflag) mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接. mysql_p ...

  2. HTTPS请求处理

    HTTPS请求的时候: [1]证书是受信任的,什么都不用做 [2]证书是不受信任的,是自签名的 (1)修改配置文件,禁用ATS特性 (2)信任并安装数字证书 NSURLSession的示例代码如下: ...

  3. 用Docker运行Jenkins自动化构建.NET Core项目

    目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器.接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手. 前置条件 一台已经安装 ...

  4. SQL注入:DNS注入

    DNS注入原理: 通过我们构造的数据,访问搭建好的DNS服务器,查看DNS访问的日志即可获取我们想要得到的数据. DNS注入使用场景: 在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起请求,这 ...

  5. 添加数据库数据后(SVN的更新和启动)、SVN启动

    一.添加数据库数据: 1.修改Excel表格,添加字段 2.修改数据库,添加字段 3.修改程序 4.使用Excel生成Tabletotable文件,并修改生成文件的内容. (1)删除cpp文件所有的H ...

  6. NOI Linux vim配置文件

    set nu " set mu set ruler color torte set tabstop=4 set shiftwidth=4 set autoindent set cindent ...

  7. electron窗口间通信

    以下代码均来自于我开发的开源软件:想学吗 窗口A的渲染进程发消息给主进程 const { clipboard, ipcRenderer, remote } = require('electron'); ...

  8. 理解Promise.all,Promise.all与Promise.race的区别,如何让Promise.all在rejected失败后依然返回resolved成功结果

     壹 ❀ 引 我在 es6入门4--promise详解 这篇文章中有详细介绍Promise对象的用法,文章主题更偏向于对于Promise概念的理解与各方法基本使用介绍:而世上一个比较有趣的问题就是,即 ...

  9. window10下pytorch和torchvision CPU版本安装

    1.环境 python3.5 Anaconda 4.2.0 2.pytorch安装 pip3 install https://download.pytorch.org/whl/cpu/torch-1. ...

  10. NOI2019退役记 upd:2019.12.1

    (我把原来写的东西全部删掉了) AFO. 我退役了,\(\mbox{yyb}\)退役了. 至少,在接下来的日子里,我得投身到文化课,度过快乐的高三生活了. 这两年的\(OI\)生涯给了我很多,让我学会 ...