Python中怎么調用JAR加密邏輯,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
安裝 JDK 之后,通過 jar -xvf 命令去解壓單個 JAR,這樣會按包名在同級目錄下生成 JAVA 編譯后的 class 文件
# 一個個地去解壓JAR # 在本地生成class文件 jar -xvf a.jar jar -xvf b.jar jar -xvf c.jar
2-2 合并所有源碼
使用 jar -cvfM 命令,將本地所有的 class 文件生成一個新的 JAR
# 合并當前目錄下所有源碼為一個JAR # 其中:output.jar代表新的JAR jar -cvfM output.jar .
3. Python 調用 JAR
首先,我們安裝依賴包:jpype
# 安裝依賴包 pip3 install JPype1
假設 JAR 中加密邏輯實現代碼如下:
package com.xingag.common; public class EncryHelper { public String encrypt(String content) { //加密邏輯 } }使用 Python 調用 JAR 中的方法分為 3 步:
啟動 JVM
實例化 JAVA 對象,調用對應方法
關閉 JVM
3-1 啟動 JVM
import jpype # JAR本地路徑 jar_path = os.path.join(os.path.abspath('.'), './output.jar') # 啟動jvm jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % (jar_path))3-2 實例化 JAVA 對象,調用方法
根據被調方法所在的包名,使用 jpyte 中的 JClass() 方法實例化類 JAVA 對象,最后調用 JAVA 對象的方法即可
需要注意的是,由于 JAVA 中是實例方法,需要先進行對象實例化,然后調用方法;如果是靜態方法,可以直接調用方法
# 通過包名,實例化JAVA對象 EncryClass = jpype.JClass("com.xingag.common.EncryHelper") encryClass = EncryClass() # 調用JAVA中的加密方法 content_encry = encryClass.encrypt("xag") print(content_encry)3-3 關閉 JVM
可以選擇主動關閉 JVM,或者待 Python 程序運行后自動關閉,釋放資源
import jpype # 關閉jvm jpype.shutdownJVM()
關于Python中怎么調用JAR加密邏輯問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。