一、加密
1.1 md5加密
# md5 加密 ,同样的字符串,使用md5加密后结果都一样。加密后不可逆 import hashlib s = '123456' def my_md5(s): s = str(s) s = s.encode() m = hashlib.md5(s.encode()) # 必须要传一个bytes类型的参数 result = m.hexdigest() print(my_md5(s)) # 加盐 passwd = '123456' + '#@##@@#%233422' # 后面加上随机生成的字符串,这一部分叫盐值
常见的用户名的密码使用md5加密后,在登录时,是把传参的明文密码进行md5加密后和数据库中加密的密码进行比对,如果一致就可以登录。
1.2 base64加密和解密
import base64 s = 'xiaobai26623@42$##中文' # 加密 r = base64.b64encode(s.encode()) # 传参要传bytes类型,返回的也是bytes类型 print(r.decode()) # 解密 str1 = 'eGlhb2JhaTI2NjIzQDQyJCMj5Lit5paH' result = base64.b64decode(str1) print(result.decode())
# 执行结果: # eGlhb2JhaTI2NjIzQDQyJCMj5Lit5paH # xiaobai26623@42$##中文
二、网络编程
# 做接口自动化 import requests # 请求接口 client url = 'http://127.0.0.1:8888/login' data = {'username': 'niuhanyang2', 'password': '1'} # get 请求 r = requests.get(url, data) print(r.json()) # 返回的字典 print(r.text) # 返回字符串格式 print(r.content) # 返回bytes类型 下载图片或其他文件时使用 r2 = requests.post(url, data) r3 = requests.post(url, data, params={'version': '1.0'}) # params中的参数传在url中,data传在请求体中 # 传cookie 的两种方式 cookie = {} # 把抓包中的cookie中的数据,每个字段都一一做映射 headers = {'cookie': ''} # 直接把抓包中的一堆cookie数据放入字典中cookie的value中 # 入参是json r4 = requests.post(url, json=data) # 上传文件,入参是文件 url2 = 'http://api.nnzhp.cn/api/file/file_upload' data = {'file': open('mock_flask.py', 'rb')} r5 = requests.post(url2, files=data) # 下载文件 url3 = 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=293407302,1362956882&fm=26&gp=0.jpg' r = requests.get(url3) r = requests.get(url3, verify=False) # 如果遇到https请求报错,加上verify=False f = open('a.jpg', 'wb') f.write(r.content) f.close() print(r.content)