Excel、Word、PPT自己设置的 Password 保护 Forget 后,用代码处理解决方法详解(Mac和Windows)

在平时的工作中,有的时候需要对我们操作过的文档进行保护,时间长了难免会忘记,但是又需要急用,不知如何是好,别着急,这篇文章会帮助到你的,可以解决你的燃眉之急

目录

一、Word 和 PPT 修改文档时保护的解决方法

Word文档: 

PPT文档:

二、Excel修改文档时两种保护的解决方法

解决方法:


Excel、Word、PPT 的加密方式如下:

方式一:在打开文档的时候需要密码;

方式二:在编辑文档内容的时候需要密码,否则只能以 “只读” 的方式打开,就和常说的 “只能看,不能摸” 是一个道理的;

以上两种方式 Wrod、PPT、Excel都有,而唯独Excel还有一种特殊的加密方式:

Excel独有,在进入Excel后,对某个工作表中的部分单元格也可以进行加密;

也可以对整个工作簿中sheet表的添加和删除也可以进行加密,如果添加或者删除,就需要密码。

前后这么一算,Excel相对来说大概有 4 层密码

接下来,先介绍word、PPT的解决方法 

为此,我准备了以下几个文件作为示例文件:

一、Word 和 PPT 修改文档时保护的解决方法

Tip:如果不输入保护密码,则只能以只读的方式打开

 Word文档:

PPT文档:

解决方法:

为了避免在操作过程中的失误,建议先复制一个副本出来

 首先将两个文件的后缀名修改为:.rar  格式

Word文档: 

1、  先双击打开修改完后缀名的 Word 文档

2、  找到上图中的 setting.xml 文件,Mac版的直接双击以 “文本编辑” 的方式打开,Windows版的可以选择用 “记事本” 打开即可(我这里用 Sublime 打开,如果电脑上有编程相关软件的话更好)

3、  打开后,看不懂没关系,接下来是关键,只要认识英文字母就OK

Mac版: command + f ,搜索框中输入 :hash ,直接回车即可

Windows版:ctrl + f ,搜索框中输入: password,直接回车即可
或者直接输入 :Protection(保护、防卫的意思)

4、  在搜索后定位的地方,找到对应这一个标签的所有内容(红色横线中的内容)删掉即可,

<w:writeProtection w:cryptProviderType="rsaAES" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="14" w:cryptSpinCount="100000" w:hash="Je3BJpkr5uUmee3rtKAI0ddh1qN1oKrfBjdoZFAjwZb1hClgElDO7PI4AY1hBzq8kLqmpOtvppoT4BEWyIaTDw==" w:salt="e0cZcKGsfKVRHY4Jx4lpDA=="/>

Tip:搞过开发的看到这点代码都懂是啥意思,就是通过一种加密算法对你的密码进行加密而已,这里不过多进行描述哈

5、  删掉之后,进行保存

Tip:Windows版如果不能直接打开,可以复制一份出出来,用记事本打开,删掉保存之后,再放进去替换掉即可

6、  找到刚操作的文档,将后缀名 .rar  复原成 .docx 即可

7、  双击打开时,在提示框中直接点击 “是” ,会以新的文档打开,里面的内容不变,直接另存为即可(windows不需要)

PPT文档:

1、 先双击打开修改完后缀名的 PPT 文档

Tip:打开之后你会发现,好多文件,到底哪一个是呢,红色框框中的文件就是哦

2、  找到上图中的 setting.xml 文件,Mac版的直接双击以 “文本编辑” 的方式打开,Windows版的可以选择用 “记事本” 打开即可(我这里用 Sublime 打开,如果电脑上有编程相关软件的话更好)

3、 打开之后,

Mac版: command + f ,搜索框中输入 :hash 或者 password,直接回车即可

Windows版:ctrl + f ,搜索框中输入: hash 或者 password,直接回车即可

4、   在搜索后定位的地方,找到对应这一个标签的所有内容(红色横线中的内容)删掉即可

<p:modifyVerifier cryptProviderType="rsaAES" cryptAlgorithmClass="hash" cryptAlgorithmType="typeAny" cryptAlgorithmSid="14" spinCount="100000" saltData="kbdhuvg6Xu732tNQRkX9xA==" hashData="Ww8EyH5lADbNuI5hZtIynqi25simO73WuNPVxIDbtwccSvg8Wf9k2Xa+9ZOkJgTcxZQ9S1jUVu1LtXIQ70yAAg=="/>

5、  删掉之后,进行保存

Tip:Windows版如果不能直接打开,可以复制一份出出来,用记事本打开,删掉保存之后,再放进去替换掉即可

6、  找到刚操作的文档,将后缀名 .rar  复原成 .pptx 即可

7、  双击打开的时候,直接点击 “修复” ,打开后,直接另存为一份即可(Windows不需要)

二、Excel修改文档时两种保护的解决方法

1、以编辑模式打开的保护,否则只能以 “只读” 方式打开

2、对具体的工作表和工作簿的保护,想要编辑就要输入密码

Tip:工作表前面有 “🔐” 标志的就是有保护需要输入密码的,后面的 “ + ” 为灰色就是不允许操作

解决方法:

1、先将需要解除保护的文档的后缀名修改为 .rar 格式

2、双击修改完后缀名的 .rar 格式的文档

3、找到红色框框中的文件,workbook.xml (工作簿)

Tip:在这个文件中,有两个密码(一个是修改模式打开的密码,一个是打开后对工作簿添加和删除sheet工作表的密码)

4、Mac版:command + f    Windows版:ctrl + f

第一次输入:hash  进行搜索,找到第一次出现的 hash 位置对应的标签,就是要解除以编辑模式打开的保护,直接删除即可,最后保存

<fileSharing userName="XXXX" algorithmName="SHA-512" hashValue="fw42EupGHU1hDNfxIQnXhwaYIYYjowsHJQFgOL7EMpM9QWHQG/gDD6Qepp0BDmsgcjXDHevk53bYf78RSq1F3g==" saltValue="YoyrlfA+9BeR1vcl73aWGA==" spinCount="100000"/>

第二次输入:protection 进行搜索,找到对应的完整标签删除即可,最后保存

这段代码是解除打开后对工作簿添加和删除工作表的操作

<workbookProtection workbookAlgorithmName="SHA-512" workbookHashValue="Gqw2E62OM2kJVAIc8nb1xrDp059UuoMTRligZf2oY46AwpghXefvDGfpi5gh9KKdRmjekNWgwxbV2Uj04TPPtQ==" workbookSaltValue="A7+Hjk+K24DwaHEMheg2qA==" workbookSpinCount="100000" lockStructure="1"/>

具体演示:

到此处,修改权限的保护和工作簿中添加删除sheet工作表的保护已经解除了。

5、解除工作簿中加锁保护的两个sheet表

6、接着在打开的 .rar 文件目录中找到 worksheets 文件夹并打开,就会发现有两个sheet表(sheet1.xml 和 sheet2.xml),这两个文件就是要操作的文件

7、首先打开 sheet1.xml 文件,Windows用 “记事本” ,Mac用 “文本编辑”,如果有编程软件打开更好

8、直接 command + f / ctrl + f ,搜索 hash 或者 protection 或者 password 都可以,然后找到对应的完整标签少点即可,command +s / ctrl + f ,保存即可

<sheetProtection algorithmName="SHA-512" hashValue="qecSRZE/S83DSlrUtvgRH+leVOqgNjbpOPYK9jZJxlUy7m2Z3BcrH6QSdvHxpLJVUtcg9AYIGQl9/oQNbtkf1A==" saltValue="kY80Jra60nnYT84uaGNTCw==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>

9、重复 7 和 8 两步操作,对其他加锁保护的sheet.xml文件进行修改即可

10、都修改完成后,找到对应的 .rar 文件,将后缀名再修改成 .xlsx 即可

11、再次打开文档时,就会发现,一切顺畅了哦😸😸😸😸

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用POIFSFileSystem类和DocumentFactory类来判断office文件是否受密码保护。以下是一个示例代码,可以用于判断WordExcelPPT文件是否受密码保护: ```java import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.hslf.usermodel.HSLFSlideShow; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.FileInputStream; import java.io.InputStream; public class PasswordProtectedFileExample { public static void main(String[] args) throws Exception { String filename = "example.docx"; InputStream inputStream = new FileInputStream(filename); boolean isPasswordProtected = isPasswordProtected(inputStream); System.out.println(filename + " is password protected: " + isPasswordProtected); } public static boolean isPasswordProtected(InputStream inputStream) throws Exception { if (POIFSFileSystem.hasPOIFSHeader(inputStream)) { POIFSFileSystem fs = new POIFSFileSystem(inputStream); if (fs.getRoot().hasEntry("EncryptedPackage")) { return true; } } else { if (DocumentFactory.create(inputStream).hasPassword()) { return true; } } return false; } } ``` 在该示例中,首先检查文件是否为OLE2格式的文件(比如WordExcel文件),如果是,则使用POIFSFileSystem类来加载文件,并检查是否存在“EncryptedPackage”条目,如果有,则示文件受密码保护。如果不是OLE2格式的文件(比如PPT文件、Word 2007以上版本的docx文件),则使用DocumentFactory类来加载文件,并检查是否有密码保护。如果文件受密码保护,则isPasswordProtected方法返回true,否则返回false。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值