MS Excel提供了广泛的功能,可以无缝保存和分析数据。可以使用VBA模块执行计算,生成图表以及定义自定义逻辑。知道电子表格中数据的重要性,MS Excel允许您使用加密保护工作簿。此外,也可以用密码保护Excel文件,以避免未经授权的访问。因此,本文介绍了如何使用Java加密/解密和密码保护Excel文件。

  • 使用Java加密Excel文件
  • 使用Java解密Excel文件
  • 验证加密的Excel文件的密码

Aspose.Cells for Java是功能强大的电子表格处理API,可让您无缝创建和处理Excel文件。此外,它使您可以在几行代码中对工作簿进行加密和解密。此外,您可以使用密码保护Excel文件。点击点击下载试用。

使用Java加密Excel文件

Aspose.Cells for Java为Excel 2003文件提供了以下加密类型。

  • XOR
  • COMPATIBLE (Office 97/2000 compatible)
  • ENHANCED CRYPTOGRAPHIC PROVIDER V1
  • STRONG CRYPTOGRAPHIC PROVIDER

但是,以MS Excel相同的方式使用SHA和AES加密技术对2007/2010工作簿进行加密。以下是使用Aspose.Cells for Java加密Excel文件的步骤。

  • 使用Workbook类加载Excel文件。
  • 使用Workbook.getSettings()。setPassword(string)方法设置密码。
  • 使用Workbook.setEncryptionOptions(EncryptionType,int)方法加密Excel文件。
  • 使用Workbook.save(string)方法保存加密的工作簿。

为了演示,下面的代码示例演示如何使用Java加密Excel文件。

// Instantiate a Workbook object by excel file path
Workbook workbook = new Workbook("workbook.xlsx");// Password protect the file
workbook.getSettings().setPassword("1234");// Encrypt by specifying the encryption type
workbook.setEncryptionOptions(EncryptionType.XOR, 40);// Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider)
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);// Save the encrypted Excel file
workbook.save("encrypted-workbook.xlsx");

使用Java解密Excel文件

为了解密加密的Excel文件,您只需要提供其密码,其余的将由Aspose.Cells for Java处理。以下是使用Java解密Excel文件的步骤。

  • 创建LoadOptions类的实例。
  • 使用LoadOptions.setPassword(string)方法指定密码。
  • 创建Workbook类的实例,然后将文件的路径和LoadOptions对象传递给其构造函数。
  • 使用Workbook.getSettings()。setPassword(string)方法将密码设置为null。
  • 完成后,使用Workbook.save(string)方法保存解密的工作簿。

下面的代码示例演示如何使用Java解密受密码保护的Excel文件。

// Initialize loading options
LoadOptions loadOptions = new LoadOptions(LoadFormat.XLSX);// Set original password
loadOptions.setPassword("1234");// Instantiate a Workbook object with Excel file's path
Workbook workbook = new Workbook("encrypted-workbook.xlsx", loadOptions);// Set password to null
workbook.getSettings().setPassword(null);// Save the decrypted Excel file
workbook.save("decrypted-workbook.xlsx");

验证加密的Excel文件的密码

除了加密/解密,Aspose.Cells for Java还允许您验证受保护的Excel文件的密码。以下是执行密码验证的步骤。

  • 使用FileInputStream类加载加密的Excel文件。
  • 使用FileFormatUtil.verifyPassword(FileInputStream,string)方法验证密码。
  • 结果,如果返回值为true,则密码有效,否则无效。

下面的代码示例演示如何使用Java验证加密的Excel文件的密码。

// Create a Stream object
FileInputStream fstream = new FileInputStream("encrypted-workbook.xlsx");// Verify password
boolean isPasswordValid = FileFormatUtil.verifyPassword(fstream, "1234");// Print results
System.out.println("Password is Valid: " + isPasswordValid);

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。

功能演示:使用Java加密和解密Excel文件相关推荐

  1. 代码示例:使用C#加密和解密Excel文件

    MS Excel提供了一种加密机制来保护电子表格中的数据免受未经授权的用户的侵害.除了应用加密外,还可以指定打开Excel文件所需的密码.本文介绍如何从.NET应用程序中执行Excel文件的加密.特别 ...

  2. java使用poi解密excel文件

    这里所说的解密是指数解密文件密码,而非保护工作表或工作博的密码,代码如下: import java.io.FileInputStream; import org.apache.poi.hssf.rec ...

  3. java对excel加密_Java 加密、解密Excel文档

    一.概述 本文介绍通过Java程序来实现Excel文档加密以及解密的方法,包括对Excel工作簿加密.解密,对指定工作表加密.解密.程序中使用了免费版Java Excel类库(Free Spire.X ...

  4. java加密与解密-核心包中的部分API(2)

    主要是介绍java安全框架的核心包中的部分API作用 java.Security包 ​ java.security包主要用于为安全框架提供类和接口 Provider类 Provider类实现了java ...

  5. Java加密与解密笔记(四) 高级应用

    术语列表: CA:证书颁发认证机构(Certificate Authority) PEM:隐私增强邮件(Privacy Enhanced Mail),是OpenSSL使用的一种密钥文件. PKI:公钥 ...

  6. 安全系列之——手写JAVA加密、解密

    其他文章: 安全系列之--手写JAVA加密.解密 安全系列之--数据传输的完整性.私密性.源认证.不可否认性 安全系列之--主流Hash散列算法介绍和使用 安全系列之--RSA的公钥私钥有多少人能分的 ...

  7. Java加密与解密笔记(三) 非对称加密

    非对称的特点是加密和解密时使用的是不同的钥匙.密钥分为公钥和私钥,用公钥加密的数据只能用私钥进行解密,反之亦然. 另外,密钥还可以用于数字签名.数字签名跟上文说的消息摘要是一个道理,通过一定方法对数据 ...

  8. 安卓逆向_25 --- 密码学 之 《Java加密与解密的艺术》

    <Java加密与解密的艺术>中文 PDF版 :https://www.jb51.net/books/65048.html 1. 密码学应用 :https://www.bilibili.co ...

  9. Qt多功能计算器(四)——base64加密和解密

    项目介绍 本篇文章的内容是Qt多功能计算器的第四个功能,base64的加密和解密,这可能是除对话框外,这个项目中最简单.代码量最少的界面(因为项目还没有写完,所以我不能确定这一定是最简单的界面). 界 ...

最新文章

  1. 误差、方差、偏差、噪声、训练误差+验证误差、偏差方差窘境、错误率和误差、过拟合与欠拟合
  2. Unix/Linux下文件基本操作[zt]
  3. [一维粒子模拟 version3.6]成功实现初次诊断函数
  4. 来吧学学.Net Core之登录认证与跨域资源使用
  5. 何必言精通——十年杂感
  6. C++ 虚函数与多态
  7. mysql倒叙varchar类型的数字_MySql遇到varchar字段数字字符串排序问题
  8. 特大动作:OLAMI 在线语音识别 API SDK 上线!
  9. mysql 秀出两个相关联的表中满足条件的内容_深入挖掘MySQL底层数据结构
  10. maven 压缩html,使用YUI Compressor Maven插件压缩 js,css 输出war包
  11. 基于Vue的车辆租赁管理系统设计与实现
  12. Windows Dos命令
  13. mysql front下载,MySQL-Front下载
  14. 联想服务器修改mac,修改Thinkpad E420的无线网卡MAC地址?
  15. 重装系统ie无法解析服务器名称,教你解决ie浏览器打不开的方法
  16. 鸣人来教你安装配置JDK
  17. processing画坐标系,画函数图像
  18. 2021年美容师(高级)考试资料及美容师(高级)考试技巧
  19. 光敏电阻、测试夹、DC2.1电源接口及万用表的使用
  20. 移动软件开发:第一个安卓应用小程序

热门文章

  1. 整流桥的工作原理是什么?什么是全桥?什么是半桥?
  2. TVP尖峰对话李开复沈春华:AI未来进行式与技术的发展
  3. 软件ios软件测试,【松勤软件测试】ios app测试注意地方
  4. Dirac HD Sound介绍
  5. 基础——无线协议 802.11 b/g/n
  6. 李兴华-JAVA10 第1章: Java语言简介
  7. 选择大于努力?看涛思数据两名90后如何获得“胡润U30企业领袖奖”
  8. Delphi实现shell扩展
  9. 业界 | 英伟达开源硬件加速项目NVDLA:一种标准化的推断加速框架
  10. 派克有铁芯无铁芯直线电机区别及应用