今天有同学问到:在调用接口的时候,传参被RSA加密了,应该怎么调用?在这里就简单说下,希望对其他同学有所帮助。
开始之前,先啰嗦两句,新型冠状病毒肺炎疫情汹涌而来。春节期间能不出门就不要出门了(^_^),如果非要出门,还是带上口罩、勤洗手。
为了接口的安全性考虑,有些接口在传递的时候使用了RSA加密,RSA加密是一种非对称加密,可以在不直接传递密钥的情况下,完成解密。服务端生成一对密钥(公钥和私钥),公钥是用来做加密使用的,私钥是用来做解密使用的。
那么,测试人员在调用接口进行测试的时候,只需要拿到公钥,并了解传递的参数是怎么拼接成一个字符串的即可,然后对字符串进行组装使用RSA加密后,再进行参数的传递即可。
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64
def handle_pub_key(key):
"""
处理公钥
公钥格式pem,处理成以-----BEGIN PUBLIC KEY-----开头,-----END PUBLIC KEY-----结尾的格式
:param key:pem格式的公钥,无-----BEGIN PUBLIC KEY-----开头,-----END PUBLIC KEY-----结尾
:return:
"""
start = '-----B