接口自动化测试之数据加密

262 阅读2分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第27篇文章,点击查看活动详情


数据加密

内置的Hashlib模块是一个加密模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、 MD5 算法。http 请求post的内容其实可以通过抓包获取,极为不安全,所以往往会将post的数 据加密后再发送,其用户密码或者比较隐私的信息都会以加密的方式存到数据库。下面就来介绍 如何对数据进行加密。

一般最常用的就是通过md5对数据进行加密。 实例代码:

1 import hashlib

2 md5=hashlib.md5(b"123456") 

3 password_md5=md5.hexdigest()

4 print(password_md5)

代码说明:

1 导入 hashlib模块。

2 通过hashlib下的md50函数对密码进行加密,并将加密结果赋值给变量md5(因为计算md5哈 希时,需要使用字节形式的字符串,而非普通字符串,所以需要通过bytes 函数将字符串再次转换)。

3 通过hexdigest()获取加密后的结果,并赋值给变量password_md5。

运行结果如图所示。

image.png

这样就完成了对密码的加密,然后通过变量带入表单,实现被加密密码的表单生成。

除了md5算法,最常用的还有sha512算法,其用法和md5是类似的。

实例代码:

1 import hashlib

2 sha512=hashlib.sha512(b"123456") 

3 password_sha512 =sha512.hexdigest() 

4 print(password_sha512)

代码说明:

2 通过hashlib下的sha5120函数对密码进行加密,并将加密结果赋值给变量sha512。

3 通过hexdigest(获取加密后的结果,并赋值给变量password_sha512。

运行结果如图所示。

image.png

通过hashlib模块可以完成对数据的加密,以便传送需要加密的数据,这在关键数据上的应用是非常广泛的。