前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RSA加密算法获取Token

RSA加密算法获取Token

作者头像
打铁读书郎
发布2024-05-06 09:42:49
830
发布2024-05-06 09:42:49
举报

加密算法获取Token

https://blog.csdn.net/u010048119/article/details/126049523

场景:

自动化测试需要通过数据加密计算secret, 接口传递才能获得token

目标:

使用接口给的 spk(公钥) 和secret(加密内容) 加密, 接口传递获取token

T任务:

python实现RSA工具类实现公钥加密

A实现:

  • 编码: 对spk和secret进行编码为byte和python对象
  • 加密: 使用rsa的加密算法进行加密
  • 解码: 将加密后的secret解码为str接口传递
代码语言:javascript
复制
import base64
import rsa

class RSAUtiles():
    @classmethod
    def rsaEncrypt(self,  msg: str, public_key: str):
        """
        :param public_key: 非pem格式 str
        :return:
        """
        # 1.1公钥字符串添加为 PEM格式
        public_key_str_pem = f"-----BEGIN PUBLIC KEY-----\n{public_key}\n-----END PUBLIC KEY-----"

        # 1.2PEM格式转化为byte格式
        public_key_byte = public_key_str_pem.encode('utf8')

        # 1.3 pem_str 转化为 PublicKey对象
        public_key = rsa.PublicKey.load_pkcs1_openssl_pem(public_key_byte)

        # 2.msg str转化为byte格式
        msg_byte = msg.encode('utf8')

        # 3.加密
        # rsa库进行加密
        secret_byte = rsa.encrypt(msg_byte, public_key)

        # byte2uft8
        secret_str = base64.b64encode(secret_byte).decode()

        return secret_str
        
        
if __name__ == '__main__':
    import requests
    base_url = 'http://10.40.38.71:88'
    path = '/api/ec/dev/auth/regist'
    headers = {
        'appid':'xxxxxx'
    }
    rsp = requests.post(url=base_url+path, headers=headers)
    secret = RSAUtiles.rsaEncrypt(rsp.json()['secret'], rsp.json()['spk'])
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加密算法获取Token
    • 场景:
      • 目标:
        • T任务:
          • A实现:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com