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

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

http://www.krpano.tech/archives/187

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

发布者:屠龙

转载请注明出处,谢谢!

使用JAVA调用KRPANO加密XML的更多相关文章

  1. 【krpano】加密XML手动解密分析

    krpano允许对XML文件进行加密,对XML进行相应的保护.加密分为两种,第一种为公共加密,即允许其他krpano全景读取该XML,而另一种为私有加密,仅允许加密的用户读取XML.两种加密方式的算法 ...

  2. c#调用JAVA的Webservice处理XML数据及批量轮询的实现方法

    前段时间做一个调用外单位WEBSERVICE的项目,项目完成的功能其实很简单,就是我们单位有很多车友会员,我们想对他们提供车辆违章信息告之服务!我们这边交警部门给我们开放了WS的接口,我们就是想通过这 ...

  3. java 调用ant的自己定义task,默认不是build.xml 的一点问题

    java  调用ant的自己定义task, File buildFile = new File(".//ee-build.xml");         // 创建一个ANT项目   ...

  4. Java 调用翻译软件实现英文文档翻译

    前言: 因最近要进行OCP的考试准备.看着大堆英文文档确实有些疼痛.又因文档内容有点大,又需要逐一去翻译 又很费时费力.于是 百度了一番,找到一些 可以使用Java来调用百度翻译软件的API( 注:( ...

  5. PHP&Java 调用C#的WCF

    步骤一:用C#声明WCF [ServiceContract] public interface IService1 { [OperationContract] void DoWork(); [Oper ...

  6. JAVA调用 keytool 生成keystore 和 cer 证书

    keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体( ...

  7. 存储过程详解与java调用(转)

    存储过程的一些基本语法: --------------创建存储过程----------------- CREATE PROC [ EDURE ] procedure_name [ ; number ] ...

  8. Java调用webservice接口方法

                             java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

  9. Rsession让Java调用R更简单

    Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...

  10. java 调用webservice的各种方法总结

    java 调用webservice的各种方法总结 几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较 方法一:创建基于JAX-WS的webservice(包括 ...

随机推荐

  1. ics-05

    挺有意思的一题 攻防世界->web->ics-05 打开题目链接,就是一个很正常的管理系统,只有左侧的可以点着玩 并且点到**设备维护中心时,页面变为index.php 查看响应 发现云平 ...

  2. BGP选路

    实验拓扑 实验需求 现有三个自治系统,需要对R1访问R4的loopback-X数据走向进行精确控制: R1访问R4的loopback0走R2,通过在R1上修改本地优先级实现 R1访问R4的loopba ...

  3. DosBox环境配置

    DosBox环境配置 DOSBox 是一个基于 x86 架构的 PC 的模拟器,它允许用户在现代操作系统上运行 DOS 程序.DOSBox 是自由软件,可以在 Windows.Linux ,macOS ...

  4. W1R3S-1项目实战

    前言 您受聘在W1R3S.inc单个服务器上进行渗透测试,并报告所有发现.他们要求您获得root访问权限并找到标志(位于/root目录中). 难以获得低特权外壳:初级/中级 获得特权升级的难度:初级/ ...

  5. Python与MySQL如何保持长连接

    Python与MySQL如何保持长连接 介绍 在python后端开发中,时常会与数据库交互,重复的断开.连接 会大大消耗数据库资源. 所以一般都是定义全局变量,来弥补这个缺陷. 但是 Python 与 ...

  6. Vue基础介绍

    一.Vue基本介绍 1.Vue.js目前最火的的一个前端框架,三大主流前端框架之一.与其他重量级框架不同的是,Vue采用自底向上增量开发的设计.Vue的核心库只关注视图层. 2.Vue.js是一套构建 ...

  7. 万字长文 | Hadoop 上云: 存算分离架构设计与迁移实践

    一面数据原有的技术架构是在线下机房中使用 CDH 构建的大数据集群.自公司成立以来,每年都保持着高速增长,业务的增长带来了数据量的剧增. 在过去几年中,我们按照每 1 到 2 年的规划扩容硬件,但往往 ...

  8. shell: xscp

    #!/bin/bash ips=( 1.1.1.1 1.1.1.2 ) user= passwd= for i in ${ips[@]} do echo "== $i ==" ss ...

  9. 安装 配置 正向 解析 DNS方法

    安装 配置 正向 解析 DNS方法 1,安装dhcp [root@localhost ~]#yum install bind* -y 2,关闭防火墙和selinux [root@localhost ~ ...

  10. 一起来自定义loader吧

    loader 在 webpack 编译中起到非常重要的作用,用于对模块的源代码进行转换,比如 css-loader 将 css 代码处理成字符串,style-loader 创建 style 标签将 c ...