使用class-final給JAR/WAR包加密

使用class-final給JAR/WAR包加密

官方文檔

https://gitee.com/roseboy/classfinal?_from=gitee_search#%E6%9C%BA%E5%99%A8%E7%BB%91%E5%AE%9A

加密流程

注:執(zhí)行命令的jar/war包文件不能在有中文的目錄下,會加密失敗

加密命令:java -jar classfinal-fatjar-1.2.1.jar -file xxx.jar -packages com -pwd 123456 -Y

結(jié)果: 生成 yourpaoject-encrypted.jar,這個就是加密后的jar文件;加密后的文件不可直接執(zhí)行,需要配置javaagent。

參數(shù)說明
-file        加密的jar/war完整路徑
-packages    加密的包名(可為空,多個用","分割)
-libjars     jar/war包lib下要加密jar文件名(可為空,多個用","分割)
-cfgfiles    需要加密的配置文件,一般是classes目錄下的yml或properties文件(可為空,多個用","分割)
-exclude     排除的類名(可為空,多個用","分割)
-classpath   外部依賴的jar目錄,例如/tomcat/lib(可為空,多個用","分割)
-pwd         加密密碼,如果是#號,則使用無密碼模式加密
-code        機(jī)器碼,在綁定的機(jī)器生成,加密后只可在此機(jī)器上運(yùn)行
-Y           無需確認(rèn),不加此參數(shù)會提示確認(rèn)以上信息

JAR運(yùn)行

java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar

生成機(jī)器碼命令

java -jar classfinal-fatjar-1.2.1.jar -C

機(jī)器碼啟動

java -jar classfinal-fatjar-1.2.1.jar -file xxx.jar -packages com -pwd 123456 -code 48B05D2FA3FE324B30561703BB3424CCD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E -Y

tomcat中運(yùn)行加密后的JAR

將加密后的war放在tomcat/webapps下, tomcat/bin/catalina.bat 增加以下配置:

//linux下 catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -javaagent:classfinal-fatjar.jar='-pwd 0000000'";
export CATALINA_OPTS;

//win下catalina.bat
set JAVA_OPTS="-javaagent:classfinal-fatjar-1.2.1.jar= -nopwd"
將classfinal-fatjar-1.2.1.jar放到bin目錄下


//參數(shù)說明 
// -pwd      加密項(xiàng)目的密碼  
// -nopwd    無密碼加密時(shí)啟動加上此參數(shù),跳過輸密碼過程
// -pwdname  環(huán)境變量中密碼的名字

windows中檢測是否配置成功,可以啟動 tomcat/bin/catalina.bat,如果項(xiàng)目正常啟動,配置完成

如果想在Tomcat中以服務(wù)的形式啟動,那么進(jìn)入tomcat/bin目錄,雙擊打開tomcat8w.exe,在java啟動參數(shù)中加入

// 加密jar包的地址位絕對路徑
-javaagent:classfinal-fatjar-1.2.1.jar= -nopwd
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容