Python怎么调用jar包加密得到加密值

  介绍

这篇文章主要讲解了“Python怎么调用jar包加密得到加密值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么调用jar包加密得到加密值”吧!

前言

在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数。
加密规则一般开发也不愿意告诉你,会直接给你一个jar包,让你调用jar包得到加密值,在jmeter上是可以直接引用jar包的,但Python调用jar包会有点麻烦。

环境准备

我的电脑环境:

<李>

windows10

<李>

python3.6.6(64位)

<李>

jdk 1.8.0_20(64位)

安装jdk的时候,也会顺带安装了jre,安装目录结构如下(jdk的安装自己网上找详细教程)

 Python怎么调用jar包加密得到加密值

安装完成后检查版本号和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包为例
 Python怎么调用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包加密得到加密值