使用Java调用KRPano加密XML

使用Java调用KRPano加密XML

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

krpanotools32.exe encrypt [OPTIONS] inputfiles

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

选项:
-h5 … 使用HTML5兼容的加密方式
-bin … 使用仅支持Flash的加密方式
-p … 使用公共密钥加密
-z … 加密并压缩文件
-ow … 覆盖源文件
-bk … 覆盖源文件并备份源文件
-in=# … 手动设置待加密文件路径
-out=# … 手动设置输出文件路径
-q … 不显示输出信息

 

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

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

 

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

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反调试)

 

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

发布者:屠龙

转载请注明出处,谢谢!