🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### 使用场景 1. 已存在签名jar包 当签名方法比较复杂时,恰巧开发愿意提供签名jar包时,我们可以通过python代码引用jar包的方式,实现签名。 ### python引用jar包示例 >假设jar包名为“utils-0.0.1-SNAPSHOT-jar-with-dependencies.jar”,其中包含的签名工具类为:“com.rfchina.utils.RsaSign”,签名方法为“rsa_sign(String encryData)”,则我们通过以下python代码实现引用jar包的功能。 `jar_utils.py`: ```python import jpype def get_rsa_sign(sign_raw): """ 调用java jar包,对入参进行rsa签名 :param sign_raw:待签名字符串 :return:signature:签名后的加密字符串 """ # 启动JVM jvmPath = jpype.getDefaultJVMPath() # 加载jar包 jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=utils-0.0.1-SNAPSHOT-jar-with-dependencies.jar") # 指定main class JDClass = jpype.JClass("com.rfchina.utils.RsaSign") # 创建类实例对象 jd = JDClass() # 引用jar包类中的方法 rsa_sign signature = jd.rsa_sign(sign_raw) # 关闭JVM jpype.shutdownJVM() return signature if __name__ == '__main__': sign_raw = "app_id=68613717&app_secret=039b8b6f1544f62dace6fe53e4c380be&platform=1&sign_type=RSA&timestamp=1536039464" print("rsa 签名结果:",get_rsa_sign(sign_raw)) ``` <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg) ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***