java - org.apache.poi.EncryptedDocumentException : Unsupported hash algorithm

标签 java apache-poi

当我尝试读取标准密码保护的 Microsoft Excel 工作表时,出现错误:

org.apache.poi.EncryptedDocumentException: Unsupported hash algorithm

我一直遵循 xlsx 文件的标准过程:

POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
EncryptionInfo info = new EncryptionInfo(fs); // exception strikes here
Decryptor d = Decryptor.getInstance(info);

我能做什么?

最佳答案

文档位于http://poi.apache.org/encryption.html描述当前版本的 Apache POI 支持哪些加密格式。

Apache POI 的最新版本实际上是 3.13,而不是 3.9。它也应该在 Maven 上可用。

请尝试使用最新版本,如果您的文件使用任何受支持的算法加密,则应该可以工作。

关于java - org.apache.poi.EncryptedDocumentException : Unsupported hash algorithm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33455441/

相关文章:

java - 无法解析 org.apache.poi.poifs.crypt.dsig.SignatureInfo 类?

java - JFilechooser 中的 headless 异常

java - Logback - 获取方法名称

java - 在没有文本框的情况下在内部从条形码扫描仪获取输入

java - 线程中的异常 "AWT-EventQueue-0"java.lang.NoSuchMethodError : org. apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V

java - 如何根据 Word 文档大小 Apache-POI 自动调整表格并将表格居中对齐?

java - Apache POI HWPF - 将 doc 文件转换为 pdf 时出现问题

java - 尝试使用 groovy 脚本运行程序在 JIRA 中删除时出现 NullPointerException

java - 连续和多个 CRUD 操作的最佳数据库访问

java - 将 Excel 转换为 .csv 文件时,我无法转换日期并将其保存在 csv 文件中?