简单的MD5接口加密测试

说好的每周写一篇文,结果吹出去的牛和放屁一样,不忍心离自己作家的梦想渐行渐远,今天就少写点字。以一个简单的例子来说明下接口加密的简单测试。写完上篇文,同事问我Jmeter进行接口测试的问题, 本来想着写个docker的文,正好最近沉迷DevOps,但一想自己也是个菜鸟,别写错了丢人,还是继续写点接口方面的,接口测试是最简单的,像Jemeter、Postman这种工具,你贴个URL,加点参数,选个方式GET/POST,一点按钮,人工对比下返回的接口数据,AI测试、安全测试啥的都比接口难多了。当然,咱们是不屑于这些工具的,自己来写个简单的框架,虽说简单,但却是当下比较流行且高效的。

前些年,测试人员都不会写代码,会写代码的测试就会显得有逼格,后来测试都会写代码了,那咋办,想让老大赏识只能硬着头皮封装成UI和配置文件来测试,但是到头来兜兜转转,这不是自己造轮子玩吗,这种炫技对推进工作贡献不大。接口测试与单元测试一样,测试代码简单高效是基础,过度封装,到最后没开始测试产品的代码,一直在重复检查自己的测试代码,维护成本反而更高。

接口工具的缺点,或者说不能满足工作要求的几个方面,促使我们自己写接口自动化框架。首先是数据驱动(当前互联网公司基本摒弃了关键字驱动:效率低、难维护),然后是自动化程度低,批量执行用例、自动生成测试报告并发布、持续集成这些是工具所不能满足的,最后就是加密的接口,时间戳和一些加密算法简直就是工具的死穴,所以今天就来简单说说基于MD5简单的接口加密测试。

写测试之前先演示MD5加密的简单例子方便理解。Python中MD5加密是通过hashlib来完成的。例如我们先准备一段要加密的文本如下:

“i love ADCC”

然后只需要简单调用hashlib中的MD5加密算法即可:



注:此处要强调点问题,因为我在这被虐了,就不希望你们被虐了。如果没有强制转换字符串类型,那恭喜你踩坑成功,报错:“Unicode-objects must be encoded before hashing”,意思是在进行md5哈希运算前,需要对数据进行编码。hashlib.md5(data)函数中,data参数的类型应该是bytes。也就是说我们在进行hash前必须把数据转换成bytes类型,因为同一个字符串在不同的编码体系下有不同的值,为确保不发生歧义必须要进行一次显性转换。

加密接口,写代码是最灵活的,直接上一个小例子帮助理解(只为举例说明,就不输出测试报告了,这次用单位的飞越系统,全英文,逼格满满嘿嘿):


注:打印要写在断言之前

就是这么简单,就是这么方便。喜欢玩工具的同学可以提出抗议,反正我不接受。时间仓促,不详细的地方以后有时间再加,要下班了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,593评论 25 708
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,216评论 2 126
  • 看过火影的人都知道鼬与佐助两兄弟之间那‘相爱相杀’的情感关系,刚开始看的时候我们大家都认为鼬是一个十足的坏蛋,杀父...
    爱书love阅读 318评论 0 1
  • 来日本的原因,总被很多人问起,但我每次都讲不清楚。 不想说是因为和男朋友分手+工作内容不是自己喜欢的+自己因为出身...
    林依然阅读 146评论 0 0
  • 看世态,觉人性, 闻风味,触净土, 你会发现这个世界没那么糟。
    陈梦隐阅读 239评论 0 0