如何通过Java实现加密、解密Word文档

 更新时间:2019年07月09日 14:54:37   作者:Miaonly  
这篇文章主要介绍了如何通过Java实现加密、解密Word文档,对一些重要文档,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件。下面介绍了一种比较简单的方法给Word文件加密以及如何给已加密的Word文件解除密码保护,需要的朋友可以参考下

前言

对一些重要文档,我们为保证其文档内容不被泄露,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件。下面介绍了一种比较简单的方法给Word文件加密以及如何给已加密的Word文件解除密码保护。

使用工具:Free Spire.Doc for Java 2.0.0(免费版)

Jar文件导入:

方法1:通过官网下载控件包。在程序下新建一个directory目录,并命名(本示例中命名为lib);将控件包lib文件夹下的jar(如下图1)拷贝到程序中新建的目录下。复制jar文件后,鼠标右键点击jar文件,选择”Add as Library”。完成导入(如下图2)。

图1:

图2:

方法2:通过maven导入。参考导入方法

Java代码示例

【示例1】加密Word文件

import com.spire.doc.*;

public class Encrypt {
  public static void main(String[] args){
    //加载测试文档
    String input = "test.docx";
    String output= "result.docx";
    Document doc = new Document(input);

    //调用方法加密文档
    doc.encrypt("123");

    //保存加密后的文档
    doc.saveToFile(output);
  }
}

文件加密结果:

【示例2】解密Word文件

import com.spire.doc.*;

public class Decrypt {
  public static void main(String[] args){
    //加载带密码的文件,输入原密码并解除
    Document doc = new Document();
    doc.loadFromFile("result.docx",FileFormat.Docx_2013,"123");

    //将解密后的文档另存
    doc.saveToFile("Decrypt.docx",FileFormat.Docx_2013);
  }
}

运行程序后,生成的文件将不再有密码保护。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Security的简单使用

    Spring Security的简单使用

    这篇文章主要介绍了Spring Security的简单使用,帮助大家更好的理解和学习使用SpringBoot,感兴趣的朋友可以了解下
    2021-04-04
  • 详解Java多线程编程中互斥锁ReentrantLock类的用法

    详解Java多线程编程中互斥锁ReentrantLock类的用法

    Java多线程并发的程序中使用互斥锁有synchronized和ReentrantLock两种方式,这里我们来详解Java多线程编程中互斥锁ReentrantLock类的用法:
    2016-07-07
  • Spring Integration 实现消息驱动的详细步骤

    Spring Integration 实现消息驱动的详细步骤

    Spring Integration是一个用于构建消息驱动的中间件轻量级框架,它提供了一种模型和工具,用于在Spring应用程序中实现企业集成模式,这篇文章主要介绍了Spring Integration 实现消息驱动,需要的朋友可以参考下
    2024-05-05
  • 深入理解Spring中的Lookup(方法注入)

    深入理解Spring中的Lookup(方法注入)

    “Lookup方法”可以使Spring替换一个bean原有的,获取其它对象具体的方法,并自动返回在容器中的查找结果。下面这篇文章主要给大家介绍了关于Spring中Lookup(方法注入)的相关资料,需要的朋友可以参考下
    2018-05-05
  • Java的@Transactional、@Aysnc、事务同步问题详解

    Java的@Transactional、@Aysnc、事务同步问题详解

    这篇文章主要介绍了Java的@Transactional、@Aysnc、事务同步问题详解,现在我们需要在一个业务方法中插入一个用户,这个业务方法我们需要加上事务,然后插入用户后,我们要异步的方式打印出数据库中所有存在的用户,需要的朋友可以参考下
    2023-11-11
  • Spring Boot集成MyBatis访问数据库的方法

    Spring Boot集成MyBatis访问数据库的方法

    这篇文章主要介绍了Spring Boot集成MyBatis访问数据库的方法,需要的朋友可以参考下
    2017-04-04
  • 详解Java中的日期类

    详解Java中的日期类

    这篇文章主要介绍了Java中的日期类的相关资料,帮助大家更好的利用Java处理时间,感兴趣的朋友可以了解下
    2020-10-10
  • Java 设计模式以虹猫蓝兔的故事讲解原型模式

    Java 设计模式以虹猫蓝兔的故事讲解原型模式

    原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,今天通过本文给大家介绍下Java 原型设计模式,感兴趣的朋友一起看看吧
    2022-04-04
  • 详解Java ScheduledThreadPoolExecutor的踩坑与解决方法

    详解Java ScheduledThreadPoolExecutor的踩坑与解决方法

    最近项目上反馈某个重要的定时任务突然不执行了,很头疼,开发环境和测试环境都没有出现过这个问题。定时任务采用的是ScheduledThreadPoolExecutor,后来一看代码发现踩了一个大坑。本文就来和大家聊聊这次的踩坑记录与解决方法,需要的可以参考一下
    2022-10-10
  • Java中的final关键字详细介绍

    Java中的final关键字详细介绍

    这篇文章主要介绍了Java中的final关键字,有需要的朋友可以参考一下
    2014-01-01

最新评论