本文作者:office教程网

小心!Excel的保护工作表/工作簿密码很容易破解

office教程网 2024-11-26 21:01:52
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

有时候,我们会使用Excel的保护工作表或者保护工作簿功能(图1)来对Excel实施保护,以免他人修改工作表或工作簿。

图1

然而,这种方法很不安全,很容易被。

究其原因,主要是由Excel对保护工作表或工作簿的定位决定的。在保护工作表或者工作簿时,就是告诉Excel允许用户能够做什么,不能够做什么,只是对Excel授予了某些权限,并没有对Excel本身进行加密。

Excel密码保护原理

在保护工作表或者工作簿时,如果你设置了密码(图2),那么无论该密码的长度是多少,Excel都会将其转换成包含12个字符的特殊序列,并将这个经过转换的密码保存在Excel中。因此,虽然很难猜测出原始密码,但我们可以分析这12个字符序列。

图2

假如Excel将所设置的密码转换后与包含12个字符的序列匹配,那么就相当于获取了原来由密码所限制的权限,实际上就是了设置的密码。

也就是说,你设置的密码是什么都没有关系,存储在Excel中的实际上就是这12个字符序列组合之一。

由于这12个字符可以组合成大约200000个(95*2^11=194560)不同的序列,可以通过遍历这些序列来密码,实际上是解除Excel给用户设置的限制。

暴力 Excel密码的代码

知道了原理后,代码也容易编写和理解了。

下面是保护工作簿密码的代码。

下面是保护工作表密码的代码。

excel表格名称的秘密

名称是Excel中的一项强大功能,无论是在公式中还是在VBA中运用名称,都能带来极大的便利。 本文主要谈谈在Excel中不被注意到的一些名称的使用。 Excel内置的名称 Excel有一些内置的名称,它们会在特定的环境下自动使用。 例如,设置打印区域后,Excel会自动命名打印区域为Print_Area,如下图

利用开放的XML文件格式

例如,保护工作簿UnprotectWsXML.xlsx中Sheet1工作表并设置密码。我们可以按下面的步骤找到并取消工作表保护密码。

1步:对UnprotectWsXML.xlsx添加后缀.zip,使其变成压缩文件,如图3所示。

图3

2步:解压文件,沿图4所示文件路径找到文件sheet1.xml。

图4

3步:将sheet1.xml拖至桌面,并用记事件打开,如图5所示。

然后,找到并将其删除。

保存并关闭记事本。

图5

4步:将sheet1.xml拖回至压缩文件并覆盖掉原文件。

5步:将UnprotectWsXML.xlsx.zip中的后缀.zip删除,恢复为Excel文件名UnprotectWsXML.xlsx。

此时,再打开工作簿UnprotectWsXML.xlsx,可以看到已经取消了对工作表sheet1的密码保护。

excel方括号在VBA中的妙处

在许多程序中,我们经常会看到像图1所示的代码片段,即出现了带方括号的字符串。 图1 这些方括号里面的字符串为工作簿中定义的名称,方括号的作用就是告诉VBE编译器将名称转换成相应的单元格或单元格区域。 其实,这是Evaluate方法的简写格式。 根据VBA帮助文件指出,Evaluate方法将Excel名称转换

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:小心!Excel的保护工作表/工作簿密码很容易破解发布于2024-11-26 21:01:52
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: