接口入参处理上

python通过JPype调用java.jar包中的MD5加密方法,对入参进行MD5加密
import jpype
import os.path
import requests


class MyJPypeClass:

    """
    describe:启动jvm
    """
    @staticmethod
    def start_api_helper_jvm():
        jvm_path = jpype.getDefaultJVMPath()
        jar_path = os.path.abspath('.') + r"\java_library\ApiHelper.jar"
        dependency = os.path.abspath('.') + r"\java_library"

        # 启动jvm
        if not jpype.isJVMStarted():
            jpype.startJVM(jvm_path, "-ea", "-Djava.class.path=%s" % jar_path, "-Djava.ext.dirs=%s" % dependency)

        # 创建ApiHelper实例 ,并返回
        JDClass = jpype.JClass("com.ApiHelper")
        return JDClass()

    """
    describe:启动jvm,并调用.jar包中的generateEncode_nonStatic方法
    terminalId:设备id
    mid:登录用户mid
    token:登录用户的token
    params:需要加密的json格式参数 非string类型
    """
    @staticmethod
    def generate_encode(terminalId, mid, token, params):
        api_helper = MyJPypeClass.start_api_helper_jvm()
        encode_data = api_helper.generateEncode_nonStatic(terminalId, mid, token, str(params))

        return encode_data

    """
    describe:启动jvm,并调用.jar包中的md5_nonStatic方法
    params:待使用md5加密的字符串
    """
    @staticmethod
    def generate_md5(params):
        api_helper = MyJPypeClass.start_api_helper_jvm()
        md5_pwd = api_helper.md5_nonStatic(params.encode("utf-8"))

        return md5_pwd


if __name__ == '__main__':

    params = {'mobile': '13333333333', 'password': MyJPypeClass.generate_md5('123456')}

    encode_data = MyJPypeClass.generate_encode("86788602183XXXX", "1462XXX",
                                                          "3YzivlhfZD5JARN7y4oPlvXF_XXXXXXt", params)
    print(encode_data)

    r = requests.post(r"http://XXX.com/login", data={'data': encode_data})
    print(str(r.content))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值