继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第3天, 3-8 请求头中的加密串处理

dz转转
关注TA
已关注
手记 4
粉丝 0
获赞 0

程名称:Python接口自动化测试框架实战 从设计到开发

  课程章节:requests常见方法实战

  课程讲师: Mushishi

  课程内容:3-8 请求头中的加密串处理

 接口加密--MD5加密

MD5代表消息摘要算法。它是一个哈希函数,可产生128位哈希值。可用作校验和验证数据完整性。它适用于非加密目的,例如确定分区数据库中特定密钥的分区。

  • md5加密的库:hashlib

  • 加密写法:

import hashlib

name="杜转"

md5=hashlib.md5()   #获取md5对象

md5.update(name.encode("utf-8"))   #对name先进行转码,转码后对数据进行加密;

#----------为啥需要转码呢?因为包含了汉字

res=md5.hexdigest()  #获取加密结果,以16进制返回

#res=md5.digest()   #二进制结果

  • 其他注意点:

digest返回:b'\x0c\xc1u\xb9\xc0\xf1\xb6\xa81\xc3\x99\xe2iw&a'

hexdigest返回:0cc175b9c0f1b6a831c399e269772661------一般用这个

加密有一层加密,有双层加密,多层加密:

若双层加密,1. 可将res继续进行加密  2.或者第一次加密的结果和另一个参数加载一起进行加密,具体需要看项目后台的实现,然后模拟接口的加密;

  • 加密用法:

登录时密码加密; 请求头加密;上传文件或图片后,以md5作为文件名;

verify=False,不验证ssl证书;(一般https请求中使用)

代码报错:加了verify=False后代码报异常: InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.imooc.com'. Adding certificate verification is strongly advised.

原因:requests默认附带了一套https信任的证书,不加verify时,默认为True,开启SSL验证。每次调用接口,都会下载证书,验证证书。此时不会报错;但是requests默认附带的根证书在每次requests更新时才会更新,如果固定使用某一版本的requets,那么证书就有可能太旧了。

如果证书版本低会导致证书验证抛出SSLError。


课程收获:

收获满满,老师讲的挺喜欢,最后实践到了自己的项目中。把学习和工作想融合;

http://img3.mukewang.com/63e4aebb0001aafd10580367.jpg






打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP