使用Java调用KRPano加密XML

KRPano自带的命令行工具krpanotools可以加密XML,具体的参数说明如下

语法:

1
krpanotools32.exe encrypt [OPTIONS] inputfiles

inputfiles 参数可以是任意个数的文件 (支持*)

选项:

-h5 … 使用HTML5兼容的加密方式

-bin … 使用仅支持Flash的加密方式

-p … 使用公共密钥加密

-z … 加密并压缩文件

-ow … 覆盖源文件

-bk … 覆盖源文件并备份源文件

-in=# … 手动设置待加密文件路径

-out=# … 手动设置输出文件路径

-q … 不显示输出信息

 

例如,下面的例子会把目录下的tour.xml加密,加密后保存为tour_enc.xml

1
krpanotools32 encrypt -in="tour.xml" -out="tour_enc.xml"

 

我们可以在Java代码中调用该命令行,实现通过程序去加密XML文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.io.IOException;
import java.lang.ProcessBuilder;
import java.io.*;

public class KrXmlEncryption {
public static void main(String[] args) throws IOException {
encryptXML("tour.xml", "tour_enc.xml");
}

public static void encryptXML(String srcPath, String outPath) throws IOException {
Process process = new ProcessBuilder("krpanotools32.exe", "encrypt", "-z", String.format("-in=\"%s\"", srcPath),
String.format("-out=\"%s\"", outPath)).start();
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
}
}

 

encryptXML函数有两个参数

srcPath:XML源文件的路径

outPath:XML加密后文件保存的路径

调用该函数可以把srcPath的XML加密后保存到outPath

 

如果你需要更强力的加密方式,可以参考这篇文章

KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)

 

本博文发表于:https://www.krpano.tech/archives/546

发布者:恒跃软件

转载请注明出处,谢谢!