介绍
这篇文章主要讲解了“Python怎么调用jar包加密得到加密值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么调用jar包加密得到加密值”吧!
前言
在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数。
加密规则一般开发也不愿意告诉你,会直接给你一个jar包,让你调用jar包得到加密值,在jmeter上是可以直接引用jar包的,但Python调用jar包会有点麻烦。
环境准备
我的电脑环境:
- <李>
windows10
李> <李>python3.6.6(64位)
李> <李>jdk 1.8.0_20(64位)
李>安装jdk的时候,也会顺带安装了jre,安装目录结构如下(jdk的安装自己网上找详细教程)
安装完成后检查版本号和jar命令
C: \ \用户dell> java - version java version “1.8.0_20" Java (TM), SE Runtime  Environment (build 1.8.0_20-b26) Java 热点(TM), 64 - bit Server VM (build 25.20 b23, mixed 模式) C:\Users\ dell> jar 用法:jar {ctxui} [vfmn0Me], [jar文件],[清单文件],[入口点],[-C dir], files … 选项: ,,,-c ,创建新档案 ,,,-t ,列出档案目录 ,,,-x ,从档案中提取指定的,(或所有),文件 ,,,-u ,更新现有档案 ,,,-v ,在标准输出中生成详细输出 ,,,-f ,指定档案文件名 ,,,-m ,包含指定清单文件中的清单信息 ,,,-n ,创建新档案后执行,Pack200 规范化 ,,,-e ,为绑定到可执行,jar 文件的独立应用程序 ,,,,,,,指定应用程序入口点 ,,,0,,仅存储;,不使用任何,ZIP 压缩 ,,,-M ,不创建条目的清单文件 ,,,我,,为指定的,jar 文件生成索引信息 ,,,-C ,更改为指定的目录并包含以下文件 如果任何文件为目录,,则对其进行递归处理。 清单文件名,档案文件名和入口点名称的指定顺序 与,& # 39;猴# 39;,,& # 39;f # 39;,和,& # 39;e # 39;,标记的指定顺序相同。 示例,1:,将两个类文件归档到一个名为,classes.jar 的档案中: ,,,,,,jar cvf classes.jar Foo.class Bar.class 示例,2:,使用现有的清单文件,& # 39;mymanifest& # 39;并 ,,,,,,,,,,将,foo/,目录中的所有文件归档到,& # 39;classes.jar& # 39;,中: ,,,,,,jar cvfm classes.jar mymanifest -C foo/,。
以最简单的md5加密的jar包为例
java引用方法
import com.ndktools.javamd5.Mademd5; String password =,“admin"; Mademd5 md =, new Mademd5 (); System.out.println (md.toMd5(密码));
python调用jar
安装依赖包jpype1(后面要加一个1)
祝辞,pip install jpype1
启动JVM,打印“你好world"
import jpype #,获取JVM安装路径 时间=jvmPath jpype.getDefaultJVMPath () #,启动JVM jpype.startJVM (jvmPath) #,执行java代码 jpype.java.lang.System.out.println (“hello 世界!“) #,关闭JVM jpype.shutdownJVM ()
运行后能正确打印出“你好world",说明环境安装没问题了
调用加密的jar包
jpype。JClass方法导入需要调用的类
import com.ndktools.javamd5.Mademd5; String password =,“admin"; Mademd5 md =, new Mademd5 (); System.out.println (md.toMd5(密码));
把java代码翻译成python就是如下代码
import jpype #,获取JVM安装路径 时间=jvmPath jpype.getDefaultJVMPath () 时间=jarPath & # 39; JavaMD5.jar& # 39;,, #, jar包路径,可以放代码同一目录 #,启动JVM jpype.startJVM (jvmPath,“-Djava.class.path=% s", %, jarPath) #,执行java代码 #,jpype.java.lang.System.out.println (“hello 世界!“) #,调用java 类对象,先导入包 时间=md5class jpype.JClass (“com.ndktools.javamd5.Mademd5") 时间=password “yoyo" 时间=md md5class(),,, #,实例化 时间=md5_password md.toMd5(密码) 打印(md5_password) #,关闭JVM jpype.shutdownJVM ()Python怎么调用jar包加密得到加密值