最近在后台项目代码中一段自定义的AES加解密的程序在平时的测试工作中应用频繁。因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意。最后转换思路找到了一种好方法
方法/步骤
1
将java项目打成jar包;设定jar包的Main-class属性;在python中通过subprocess执行jar包。
2
在intellij中打jar包: File--> Project Structure... --> Artifacts --> + --> JAR --> From modules with dependencies --> OK --> 勾选Include in project build --> 记录上方Output directory路径 --> OK; Build --> Build Project --> 之后就可以在Output directory路径看到打的jar包了;用WinRAR打开jar包,修改其中META-INF文件夹下的MANIFEST.MF文件,增加一行Main-class入口,例如:'Main-class: com.package.name.Classname',注意冒号后面空一格,文件最后空一行。
3
然后对应写python脚本,这里设定python文件名为aes.py,假定我们用来解密的jar包名为aes.jar,这里为了与jar包的两个传参相对应也设置python脚本需要传入两个参数,第一个是待解密的数据data,第二个是解密钥匙key。这里我们创建一个文件夹aes,将aes.py和aes.jar放到该文件夹下,二者同处于aes根目录下。然后在当前目录下启动cmd,执行python脚本,传入data和key两个参数给python脚本:
下一篇:pyhton如何查看包模块方法