Python接口自动化处理加密的数据——RSA加密

前阵子把公司的接口放到自己刚写的接口自动化框架中时,遇到一个接口,要把请求数据中的某一个字段用RSA加密。研究了一波,发现用一个第三方库就行,趁着没忘赶紧整理文章把步骤写出来。

众所周知RSA是非对称加密,大致过程就是客户端用公钥加密后,服务端用私钥来解密。那么我在发送请求时就需要用公钥来加密,所以首先要做的第一件事就是,拿到公钥,这个和自家开发要就行。

拿到公钥后,就要对需要加密的数据进行处理了。Python有相应的第三方库,我用的是rsa库,因为还在更新,其他库都不怎么更新了。。。

#安装rsa库
pip install rsa

加密过程:

def rsaEncrypt(msg):
    """
    使用公钥加密请求数据。
    :param msg: 要加密的内容
    :type msg: str
    :return: 加密后的密文
    """
    public_key="一大长串的公钥"

    #生成公钥对象
    pub_key_byte=public_key.encode("utf-8")
    pub_key_obj=rsa.PublicKey.load_pkcs1_openssl_pem(pub_key_byte)

    #把加密数据转成字节对象,因为加密只支持字节对象
    content=msg.encode("utf-8")

    #加密,返回加密文本
    msg_encrypted=rsa.encrypt(content,pub_key_obj)
    #base64编码
    cipher_base64=base64.b64encode(msg_encrypted)
    #转成字符串
    return cipher_base64.decode()

如上将加密过程封装好后,放到框架的基础工具模块中,在发送请求前调用该方法去加密后在发送请求即可。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值