python md5加密_python对接口中的数据进行md5加密

最近有学员向笔者多次反应,测试过程中,比如登录,登录时密码一般是经过加密之后再进行登录的,如果在进行测试时填写的密码是明文的话,那么进行接口测试时必然是失败的,那么要经过怎样的处理才能登录成功呢?

那么今天先简单处理密码是md5加密的情况下,使用python进行接口测试时,python如何处理;

当前使用的是python3.7版本;

Python3.7在处理md5加密时,需要导入模块hashlib;

python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

先来看一下python是如何把字符串加密成MD5字符串的;

import hashlibdef MD5_demo(str):
md= hashlib.md5()# 创建md5对象md.update(str.encode(encoding='utf-8'))return md.hexdigest()if __name__=="__main__":# 待加密信息
str = '123456'
md5_str = MD5_demo(str)
print('加密后为 :' + md5_str)

hexdigest()在英语中hex有十六进制的意思,因此该方法是返回摘要,作为十六进制数据字符串值

注意:update(str.encode(encoding='utf-8'))这个函数里面需要对字符串进行编码,否则会报TypeError: Unicode-objects must be encoded before hashing

下面以禅道登陆接口为例进行处理:

通过fiddler抓包发现,登陆的密码是加密处理的:

bf45cec924134485c494b9dc5e3f34d5.png

以下是代码处理结果:

import requestsimport hashlibdef MD5_login(str):
zt_pwd = hashlib.md5()
zt_pwd.update(str.encode(encoding='utf-8'))return zt_pwd.hexdigest()
password = '123456' #登陆的用户密码=='123456'
url = 'http://192.168.1.105:81/zentao/user-login-L3plbnRhby8=.html'
data = {'account':'admin','password':MD5_login(password),'referer':'/zentao/'}
response = requests.post(url,data=data) # 发送post请求
print(response.content.decode('utf-8'))

更多技术干货,IT资源请关注“新梦想软件测试”公众号哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现对USB端口进行加密,你可以使用一个叫做 PyCrypto 的库。 安装 PyCrypto 库: ``` pip install pycrypto ``` 然后,可以使用 PyCrypto 库的 `Crypto.Cipher` 模块来实现加密。 下面是一个示例代码,它使用 AES 算法对 USB 数据进行加密: ```python from Crypto.Cipher import AES # 设置密钥和初始化向量 key = b'Sixteen byte key' iv = b'Sixteen byte IV' # 创建加密对象 cipher = AES.new(key, AES.MODE_CFB, iv) # 加密数据 encrypted_data = cipher.encrypt(b'Plaintext data') # 解密数据 decrypted_data = cipher.decrypt(encrypted_data) ``` 在这个示例,我们使用了 AES 算法的 CFB 模式来进行加密。你可以使用其他的模式,比如 ECB 或 CBC,也可以使用其他的加密算法,比如 DES 或 RSA。 希望这能帮到你! ### 回答2: Python是一种强大的编程语言,可以用来实现各种功能,包括加密USB端口。要实现加密USB端口,可以使用Python的一个库或模块来进行USB通信的加密和解密操作。 首先,需要使用Python的`pyusb`库来与USB设备进行通信。`pyusb`库可以通过USB接口与设备进行通信,并读取和写入数据。 其次,可以使用Python的一个加密算法库,例如`pycrypto`或`cryptography`,来实现对USB通信数据进行加密和解密操作。这些库提供了各种加密算法,如AES、DES、RSA等,可以根据需求选择合适的算法。 实现过程大致如下: 1. 导入所需的库和模块: ```python import usb.core import usb.util from Crypto.Cipher import AES ``` 2. 连接到USB设备: ```python dev = usb.core.find(idVendor=vendor_id, idProduct=product_id) if dev is None: raise ValueError("USB device not found") ``` 3. 初始化加密算法和密钥: ```python cipher = AES.new(key, AES.MODE_ECB) ``` 4. 接收数据进行解密: ```python data = dev.read(usb.util.ENDPOINT_IN, 64) # 读取数据 decrypted_data = cipher.decrypt(data) # 解密数据 ``` 5. 发送加密数据: ```python encrypted_data = cipher.encrypt(data) # 加密数据 dev.write(usb.util.ENDPOINT_OUT, encrypted_data) # 发送数据 ``` 通过以上步骤,我们可以实现加密USB端口的功能。当然,需要注意保护好密钥,以免被他人获取到并篡改数据。 总而言之,Python可以使用`pyusb`库与USB设备进行通信,利用加密算法库对USB通信数据进行加密和解密操作,从而实现对USB端口的加密保护。 ### 回答3: 要实现对USB端口进行加密,可以使用Python编程语言来开发相应的程序。 首先,需要使用Python的串口通信库,例如pyserial模块,来识别和连接USB端口。我们可以使用pyserial库提供的函数来扫描可用的串口,找到目标USB端口。 然后,为了加密USB端口的通信,可以使用Python加密算法库,例如pycryptodome或cryptography库。这些库提供了各种加密算法和功能,例如AES、RSA等。 通过读取USB端口的数据流,我们可以使用选择的加密算法对数据进行加密。例如,可以使用AES算法对数据进行加密,需要使用密钥来加密和解密数据。可以通过使用pycryptodome或cryptography库的AES加密算法函数来实现。 另外,为了保护密钥的安全性,可以使用Python的密钥管理库,如keyring或cryptography库,将密钥保存在安全的地方,例如操作系统的密钥存储器。 最后,可以通过编写Python程序来实现加密USB端口的使用。程序可以监听USB端口的数据流,对接收到的数据进行解密,并将解密后的数据发送到目标设备。同样地,需要对发送的数据进行加密,然后再发送到USB端口。 总结起来,实现加密USB端口需要使用Python的串口通信库、加密算法库、密钥管理库以及编写相应的程序来实现加密和解密USB端口的通信数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值