Python的 json 、 hashlib 、 Base64 模块

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

原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11788091.html

时间: 2024-10-09 15:01:59

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

Python数据库 5.json,hashlib,base64模块

5.1 json JS对象 var teacher_1 = {   name: ‘juhao’,   age: 18, feature : [‘高’, ‘富’, ‘帅’]} JSON字符串 {   “name”: “juhao”,   “age”: 18, “ feature “ : [‘高’, ‘富’, ‘帅’]?} Python字典 {   ‘name’: ‘juhao’,   ‘age’: 18 ‘feature’ : [‘高’, ‘富’, ‘帅’]?} 注意 1.字符串必须用双引号(即:

Python基础-json和pickle模块

一 .序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把字符串转化成内存数据类型 叫做反序列化 json 和 pickle 二. 只是把数据类型转化成字符串存到内存里的意义 json.dumps  json.loads 1.把你的内存数据通过网络共享给远程其他人 2.定义了不同语言的交互规则 a.纯文本,坏处,不能共享复杂的数据类型 b.xml,坏处,占用空间大 c.json,简单,可读性好 三.json与pickle的区

python标准库:base64模块

Base64是一种用64个字符来表示任意二进制数据的方法.(将二进制编码转换成ASCII字符).使用A-Z,a-z,0-9,/,+这64个字符. 函数 描述 base64.b64encode(s) 对二进制数据进行base64编码 base64.b64decode(s) 对base64编码的数据进行解码 base64.urlsafe_b64encode(s) 对URL进行baase64编码 base64.urlsafe_b64decode(s) 解码 import base64 str1=b"h

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 logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

Python数据对象的编码和解码,json和pickle模块,base64模块的简单使用

1.面向对象 对象:生活中的客观事物 类:对事物的抽象,在代码中实现class类型 类属性:这类事物具有的特点或者属性 类方法:这类事物具有的行为,可以实现的方法 实例:使用之前对类的实例化之后的结果 实例属性:对象具有的一些描述对象或者形容对象的属性,对象具体具有的特性 实例方法:对象具有的方法,行为动作 1.查看对象所拥有的方法 dir(对象) 例如 print(dir(列表))1.类中的实例(类)属性和方法命名风格 属性:名词 方法:动词 2.Python中万物皆对象 _对象名,对象私有化

json&pickle模块、configparse/hashlib/subprocess 模块

一.json 与pickle模块 序列化: 1.什么是序列化&反序列化 内存中的数据类型---->序列化---->特定的格式(json格式或者pickle格式) 内存中的数据类型<----反序列化<----特定的格式(json格式或者pickle格式) 2.为何要序列化 序列化得到结果=>特定的格式的内容有两种用途 1.可用于存储=>用于存档 2.传输给其他平台使用=>跨平台数据交互 ? 强调: 针对用途1的特定一格式:可是一种专用的格式=>pick

python json requests request 模块

1.json 通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据. 之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深. 随着使用次数的增加,我对这个功能完善的模块有了更多的了解,记录如下. json.loads 将字符串装换成python基本数据类型 json.dumps 将python数据类型转换成字符串方式返回 json a = {:} (a,(a)) c = json.dumps(a) (

python模块(json和pickle模块)

json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个模块,都提供了dumps,dump,loads,load 4个功能 1 import json 2 s = '{"key1":"value1","key2":"value2"}' # ==> 用json模块将字符串转化成其他

python对json的相关操作以及json模块的简要分析

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成. JSON有两种结构: 第一种就是"名称/值"对的集合.在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array). 第二种就是值的有序列表