您的位置:首页 > Web前端 > JavaScript

json,hashlib,base64模块

2020-02-01 07:14 253 查看

一、json模块

json简介
全称"JavaScript Object Notation" (JavaScript对象表示法)它是一种基于文本,独立于语言的轻量级数据交换格式。以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象(键值对)

特点
1.轻量级的文本数据交换格式
2.易于人类阅读和编写,同时也易于机器解析和生成
3.Web世界当中最理想的数据交换格式

前后端数据交换
目前互联网开发前后端数据交互使用的基本都是json

Json语法规则
1.数据由键值对组成
2.键值对由逗号分隔
3.大括号里保存对象
4.中括号里保存数组

注意事项
1.字符串必须用双引号(即:””)来包括
2.值可以是字符串、数字、true、false、null、列表,或字典。

Json模块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结构
HASH
散列函数,.一般翻译为哈希 ,把输入的任意长度的数据,通过散列函数进行转化,变成一个长度固定的值( 散列值),这个值基本是唯一的,简单来说,hash算法就是一种将任意长度的数据变成一个长度固定的数据的函数。

特点
1.不可逆:无法根据散列值来还原原来的数据
2.定长输出:无论输入的原始数据有多长,结果长度是相同的
3.抗修改性:输入的微小改变,哪怕只有一个字符,会引起结果的巨大改变
4.强碰撞性:很难找到两段内容不同的数据,使他们产生的hash值一致,几乎不可能

hashlib模块API

Hashlib模块提供了许多供我们调用的hash算法,主要有:
1.md5
2.SHA系列:sha1, sha224, sha256, sha384, sha512

简单使用

三、base64模块

base64
base64是一种用64个字符来表示任意二进制数据的方法,(将二 进制数据编码成ASCII字符)使用了A-Z,a-z,0-9,+ ,/这64个字符

特点:
1.用来将非ASCII字符的数据转换成ASCII字符的一种方法
2.常用于对URL的编码
3.可以将不可打印的二进制数据转化为可打印的字符串

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

对字符串进行编码解码

对URL进行编码解码

总结

  • 点赞
  • 收藏
  • 分享
  • 文章举报
space 发布了9 篇原创文章 · 获赞 1 · 访问量 303 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: