2018-11-20 json &base64 &hashlib

2018-11-20  本文已影响0人  太阳出来我爬山坡

1.json模块
json数据 就是遵循一种格式的数据。文本数据
json数据就是个字符串 可以表示 python中的数据

javascript 用户交互 对象 可以用 json数据表示
语法规范:
    -数据有键值对组成
    -键值对由逗号分隔
    -大括号保存对象(字典)
    -中括号保存数组(列表,元组)
    -字符串必须用双引号(")
    ***值:字符串,数字,true,false,null,数组,对象(js)
    
    python         json
    字典           对象
    列表或元组     数组
    字符串         字符串
    int或float     数字
    True或False    true或false
    None           null
    
    ***前后端的交互最好的数据格式之一
python中利用json模块,来转换数据类型,和json字符串
    json模块的方法:
    1.json数据-》python对象
        -json.loads(s):json字符串-》python对象
        -json.load(s):json文件-》python对象
    2.python对象-》json数据
        -json.dumps(obj): python对象-》json字符串
        -json.dump(obj, f): python对象-》json文件

2.base64模块
-用文本(ascii字符)来表示二进制数
64个字母来表示A-WXYZ a b c d e f g h i j-Z 0-9 + /
0 25 26 51 52 61 63 64
b'abc'
01100001 01100010 01100011 (24位)
011000 010110 001001 100011
24 22 9 35
Y W J j
-如果字节数不是3的倍数
b'ab' zai 字节的末尾用\x00 ,再到编码末尾加1到2个==

*** base64 编码后,+ /,在url中,不行的
如果要对url进行编码,专门的安全的url编码
本质上,就是将+和/ 用-和_取代
虽然,64ascii,可以自定义
不是加密算法
把小图片编码成base64

高级语言 会用 低级的方法
游戏开发,制造业,外包,金融,各行各业
全栈,小公司 全栈 大公司 后端api服务器开发,接口,实现一个什么功能
tornado 一个方法,一个类,。。。
3.hashlib模块
数据安全
加密,密码,锁 凯撒密码 算法
加密分类
-对称加密:数据的加密和解密用相同的密钥
-非对称加密:加密和解密用不同的密匙,公钥用于数据加密,私钥用于解密
-单向加密:只能加密,不能解密

Hash  “散列”,摘要算法

任意长度的输入通过散列算法变换成固定长度的输出。压缩,有损的
特点: 32位hash算法 武汉大学 女博士  64位
    -不可逆
    -定长输出(输入不变,输出不变)
    -抗修改性 输入的微小改变,哪怕只是一个bit位的修改,引起巨大的变化
    -强碰撞性:很难找到 两端不同的数据,使他们的hash值相等,几乎是不可能
    
Hashlib的常用方法
    md5 ——》32
    防止篡改 电影母盘  软件  md5值
上一篇下一篇

猜你喜欢

热点阅读