2023年11月27日发(作者:)

EFS加密和解密

EFS是一种系统自带的文件加密技术,下面就讲如何进行EFS加密以及如何解密的

相关知识……

大家对Windows2000/XP/2003系统提供的EFS(加密文件系统)功能一定不陌生吧!它应用在

NTFS文件系统中,能有效保护机器中的重要数据不被非法侵犯。通常情况下,用户在Windows

图形界面中对文件或文件夹进行EFS加密和解密操作。这里笔者介绍它的另一种使用方法——

命令。

命令格式:

CIPHER[/E|/D][/Sdirectory][/A][/I][/F][/H][pathname[...]]

CIPHER /K

CIPHER /Rfilename

参数介绍:

/A 使用于目录和文件

/D 解密指定的目录

/E 加密指定的目录

/F 强制加密所有指定的对象

/H 显示具有隐藏、系统属性的文件

/I 出现错误后,继续执行指定操作

/K 为运行 cipher 的用户创建新文件加密密钥

/R 生成一个 EFS 恢复代理密钥和证书,然后将它写入一个 .PFX 文件(含有证书和

密钥)和一个 .CER 文件(只含有证书)中

/S 在指定目录及其所有子目录的目录中执行指定操作

应用实例:

一、加密目录文件夹和文件

1.加密F盘下的efs目录

点击开始→运行,在运行对话框中输入CMD命令,弹出命令提示符窗口,进入到F

>提示符下,然后运行cipher /e efs命令,接着系统提示正在加密 f 中的目录,efs

[OK],一个目录中一个目录被加密信息后,完成efs目录的加密操作。

如果要加密efs目录下的所有子目录,运行cipher /e /sefs命令即可。

2.加密F盘下efs1目录中的文件

在命令提示符窗口中运行cipher /e /a 命令后,系统提示

[OK]1 个目录中的 1 个文件(或目录)已被加密信息后,完成对

件的加密。

如果要加密该目录下的所有文件,运行cipher /e /a efs1*命令即可。

二、查询加密目录和加密文件

使用命令可以查询系统中哪些目录和文件被加密,如查询F盘中的efs目录

是否被加密,在命令提示符窗口中输入cipher efs命令,然后系统提示E efs信息,说明

efs目录已被加密。

要查询efs目录中哪些文件已被加密,运行cipher efs*命令即可。

三、解密目录文件夹

在命令提示符窗口中运行cipher/d efs命令后,就将efs目录解密。要解密efs目录下

的所有子目录运行cipher/d/sefs命令即可。

要解密efs1目录文件,运行cipher/d/a 命令,解密该目录

所有文件,运行cipher /d /a efs1*命令即可。

四、导出证书和私匙

在命令提示符下运行 cipher /Rrtj,其中rtj为导出文件的文件名,接着系统提示

请键入密码来保护 .PFX 文件:,两次输入密码后,就在所在目录下生成

这两个文件。其中为用户证书,为证书和密钥文件。

一旦用户丢失了证书和密钥无法解密EFS加密文件,只要将文件导入

即可。

EFS加密出了问题怎么办?

几天前,一位朋友给我发出十万火急的求援消息,他在公司计算机中用EFS加密的文件

不能打开了了,里面有所有重要客户资料。他说由于系统用户配置问题,他删除了自己的账

户,重新建了一个相同用户名的账户,但是不料以前加密的文件夹再也不能打开了。不过,幸

好这位仁兄使用的Windows 2000,我告诉他可以使用恢复代理来解密,才使他放下心来。

类似这样的求救可以在众多技术论坛中看到,且越来越多,并非每个朋友都是幸运的,由

于重要数据无法打开导致损失惨重的事件也是屡见不鲜。如果你也使用Windows 2000/XP,并

对数据加密,为避免受到损失,就需要了解EFS加密,并成为个中高手。

什么是EFS

Windows 2000开始,微软对NTFS文件系统进行了升级,将在Windows NT中使用的

4.0升级为5.0,其最大的特点就是安全特性更加强大,特别是增加了加密文件系统EFS,用

来在使用NTFS文件系统的卷上直接加密数据,能让用户在系统上使用公钥加密去保护私有的

数据。

你可以为某个隐私的文件或文件夹加密,以防止他人使用。没有正确权限的人即使能访问

到硬盘,若试图操作加密的文件或文件夹,则会收到一条拒绝访问错误消息。

另外,用户验证过程是在登录Windows时进行的,这就保证了EFS加密系统对计算机用户

来说是透明的。通俗地说,只要具有权限的账户登录到Windows,就可以像打开任何一个普通

文件一样使用自己加密的文件,而不像通常的加密软件会弹出一个对话框,让你输入密码,这

就大大方便了使用者。

ESF加密文件

当你使用了Windows 2000/XP/2003系统(注意Windows XP家庭版不支持EFS加密文件系

统),且格式化磁盘为NTFS文件系统,你就具有了应用EFS的条件。

要使用EFS加密,只须打开资源管理器,在需要加密的文件(夹)上点鼠标右键,选

,在属性 对话框中点高级打开高级属性对话框,勾选加密内容以便保护数据(图

1)(取消该选项前的钩即可解密文件)。

1

确定后点击应用,如果加密的是文件夹,则会弹出图2所示对话框,你可以根据需要

选择是仅加密此文件夹还是将此文件夹下的子文件夹和文件也一起加密。

2

最后点击确定后,在默认情况下,一般你会发现文件(夹)在资源管理器中显示的颜色

变为彩色,表示已经被加密(或压缩)了。

提示:你也可以不使文件(夹)变色,在资源管理器中,点工具→文件夹选项→查看

用彩色显示加密或压缩的NTFS文件取消即可。

EFS加密解密技巧

在实际应用中,我们还可以通过各种技巧来完成EFS加密的相关操作。

1.添加加密右键菜单

如果觉得上述加密方法还是太烦琐,可以在运行中输入regedit,打开注册表编辑器,

找到

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced,在

右边窗口中点击鼠标右键,选择新建→Dword,取键名为EncryptionContextMenu,并设

置键值为1

退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件(夹),点鼠标

右键,菜单中多出了一个加(解)密的选项。你可以直接点击此菜单,即可完成加密解密操

作。

2.禁止加密某个文件夹

如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为的文

件,然后用记事本编辑内容为:

Encryption

Disable=1

但是这个方法不能禁止已加密文件夹的文件以及子文件夹。

3.彻底禁止EFS加密

要在机器上彻底禁用EFS加密,可以通过修改注册表实现。点击开始→运行,输入

Regedit回车,打开注册表编辑器,找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows

NTCurrentVersionEFS,在编辑菜单上点击新建→Dword,输入EfsConfiguration

为键名,并设置键值为1,这样本机的EFS加密就被禁用了。如果想重新使用EFS加密时,只

要把键值改为0即可。

备份加密证书

重新安装系统后要打开加密文件的解决办法

EFS加密原理

让我们来简单了解一下EFS是如何工作的。在EFS中,数据靠FEK(文件加密钥匙)加

密,而FEK跟用户的公钥一起加密保存;解密的时候顺序刚好相反,首先用私钥解密出FEK

然后用FEK解密数据。简言之,系统是靠你的公钥/私钥(统称密钥)来加解密的。

那么密钥从何而来呢?密钥是通过用户的SID产生的。在Windows 2000/XP中,每一个用

户都有一个SID(安全标示符),首次使用EFS时,系统会根据SID首先生成密钥。SID都是

惟一的,如同人的指纹,因而用户的密钥也绝不会相同,这就保证了EFS加密的可靠。目前,

据官方消息说EFS还未证实被破解过。

需要注意的是,如果重新安装了系统,就会产生一个新的SID,即使你安装系统的时候采

用的是原来的用户名和密码,也无法直接打开原来被加密的文件(夹)了,很多朋友经常由于

忽略了这一点而导致数据损失。

备份密钥

既然EFS采用加密密钥来进行加解密,那么只要加密密钥存在,我们就能恢复数据。因

此,将密钥备份下来以作不时之需是最好的办法。

点击开始→运行,在运行对话框中输入打开证书管理器,打开证书→当

前用户下的个人→证书,只要你做过加密操作,右边窗口就会有与用户名同名的(如果有多

份证书,选预期目的加密文件系统)证书。

选中证书后点鼠标右键,选所有任务→导出,在弹出的证书导出向导中,选择导出私

,并按照向导的要求输入密码来保护导出的私钥,最后存储为一个PFX后缀的文件(如图3

所示)。

3

当加密文件的账户出现问题或重新安装了系统后需要访问或解密以前加密的文件时,只要使用

鼠标右键单击备份的证书,选择安装PFX,系统将弹出证书导入向导,键入当初导出证书时

输入用于保护备份证书的密码,然后选择让向导根据证书类型,自动选择证书存储区即可。

完成后就可以访问以前的加密文件了。

提示:需要注意的是,任何其他用户只要获得了你备份的证书,都可以对你的加密文件进

行解密,因此一定要确保备份证书的安全性。

小知识

1.把未加密的文件复制到已经加密的文件夹中,这些文件会被自动加密。

2.若是将加密文件移动到NTFS分区上,数据会保留加密属性;如果移动到FATFAT32

区上,这些数据将会被自动解密。另外,NTFS分区上保存的文件不能同时被压缩和加密。

s的系统文件和系统文件夹不能被加密。

用恢复代理解密文件

删除用户后打开加密文件的解决办法

EFS加密是安全可靠的,那么,一旦用户账户被删除,就像开头提到的那位,重新创建一

个相同的用户可以打开吗?答案当然是否定的,重新创建的用户虽然与以前用户同名,但是系

统却不会分配相同的SID(记住,不可能存在相同SID!除非是克隆系统),因此密钥也不

同,加密的文件自然就无法打开了。

当然,这种情况也不是完全没有解决的办法,因为用EFS加密过的文件,除了加密者本人

之外还有恢复代理可以打开。恢复代理是一种特殊的用户,作用是解开用EFS加密的文件。

对于Windows 2000来说,在单机和工作组环境下,默认的恢复代理是 Administrator

Windows XP在单机和工作组环境下没有默认的恢复代理。而在域环境中就完全不同了,所有

加入域的Windows 2000/XP计算机,默认的恢复代理全部是域管理员。所以我说那位网友是幸

运的,因为他用的是Windows 2000,可以用Administrator这个用户登录系统,然后就能直

接打开或者解密文件。

大量使用Windows XP的朋友就没有那么幸运了,由于没有默认的恢复代理,事先又没有

设置恢复代理,一旦用户被删除,你面临的将是数据的丢失。因此如果你使用的是Windows

XP用户,请事先设置恢复代理。

设置Windows XP恢复代理

1.首先确定用哪个用户作为恢复代理,可以设置任何用户,比如你想让USER成为恢复代

理,就用USER账户登录系统(一般建议使用Administrator作为恢复代理)。

2.运行中输入cipher /rctesttest可以是任何其它名字),回车后系统会

提示询问是否用密码把证书保护起来,你可以自己设置一个密码,也可不需要密码保护就直接

按回车。完成后我们在C盘的根目录下可以发现两个文件(在资源管理

器中点工具→文件夹选项→查看,取消隐藏已知文件类型的扩展名才能看到文件后缀

名)。

3.先使用鼠标右键单击PFX文件,选择安装PFX,将弹出证书导入向导,如果提示输入

密码,就输入步骤2中设置的密码(图4),选中标示此私钥为可导出的,下一步选择根据

证书类型,自动选择证书存储区导入证书(图5)。

4

5

4.运行中输入并回车,打开组策略编辑器。在计算机配置→Windows设置→

安全设置→公钥策略→正在加密文件系统下,点击鼠标右键,并选择添加数据恢复代理,按

添加故障恢复代理向导打开,完成后即成功将USER用户设置为指定恢复代理(图

6)。

6

现在,登录USER用户,就可以解密所有在指定恢复代理后被加密的文件(夹)了。注意,在

设置恢复代理前已经加密的文件是不能解密的,所以必须未雨绸缪,事先设置恢复代理。

EFS加密疑难解答

1.重装系统后默认的恢复代理是否能恢复以前的加密数据?

不能,假设Administrator用户是默认恢复代理,重装系统后,这个Administrator

SID已经发生了变化,所以不能作为以前用户的恢复代理了,只有将备份的证书导入才能打开

文件。

2.EFS加密过的数据是否绝对安全?

不是,安全永远是相对的。EFS加密过的文件,如果不是用户本人或恢复代理,虽然无法

打开加密文件,但是仍然可以删除,所以对于重要文件,最佳的做法是NTFS权限和EFS加密

配合使用。只有同时具有NTFS权限以及密钥,才能操作文件。

3.我用的是Windows 2000系统,在局域网中且加入了域,我用Administrator为何不能

解密文件?

由于加入域中,默认的恢复代理是域管理员,而不是本地管理员了,所以必须以管理员身

份登录域,才能解密。

4.Ghost备份了系统,恢复系统后可以打开以前的加密文件吗?

这要看什么时候做的克隆,如果已经用EFS加密文件后才克隆系统,用户账户和相应的

SID都没有变,而且存在相应密钥,重新恢复系统,应该可以打开加密文件。但是如果第一次

EFS加密文件之前就克隆了系统,这时系统中还就没有密钥,而这样的克隆中也不包括密

钥,所以在加密之前所做克隆恢复后不能打开加密文件。

5.所有的在Windows 2000上加密的文件都不可访问,包括EFS代理,而我并未重装系

统,这是怎么回事?

如果在系统未发生故障,而每个人,包括EFS代理都不能访问所有的加密文件时,请打开

注册表编辑器,找到

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem,检查

NtfsEncryptionService的值是否为默认值EFS(很可能已经被修改或是此键已被删除),如

果被修改,你可以改回默认值。

6.如何检查谁加密的文件以及谁是恢复代理?

可以在资源管理器中选中要查看的文件,在文件上用鼠标右键点击,并选择属性,在

选项卡上点击高级按钮,点击详细信息,在这里你可以查看谁可以透明打开这个加密文

件(如果只有一个,则为加密者)以及查看文件的恢复代理是谁(如图7所示)。

7

编后:

对每个使用者来说,存贮在电脑上的数据的重要性不言而喻。但电脑有时候也很脆弱

种种原因都有可能导致它生病。这个时候,抢救重要数据以及解决棘手问题就成为使用者的

首要任务。对高手来说,这也许不算什么难事,但如果你对这些并不是很熟悉,而高手又不在

你的身边,自救就成了唯一可行的手段。为此我们策划了这个数据自救的选题,一旦掌握

自救的技巧,即使高手不在身边的日子,你一样可以从容不迫。同时,我们也希望在阅读

完文章后,你可以养成一种好的使用习惯,毕竟,未雨绸缪胜过亡羊补牢!

EFS加密文件夹无法打开怎么办

EFSEncrypting File System,加密文件系统)是从Windows 2000开始就提出的一种基

NTFS文件系统的核心文件加密技术,主要是用于保护本地数据。在使用EFS加密文件的同

时,也产生了诸多麻烦,比如重装系统后无法打开EFS加密过的文件夹等等,那么我们该如何

解密?现在让我们先来看看大家的讨论。

备份及导入密钥来解密

为了防止在重装系统后无法打开加密文件夹,我们可以通过下面的方法来备份及导入密

钥:点击开始→运行,输入,回车后打开证书管理器。展开证书/个人/

,右键单击在右侧窗口中以用户名为名称的证书,在所有任务中选择导出打开证书导出

向导。单击下一步之后选择是,导出私钥,单击下一步,选择默认导出文件格式,再单击

下一步,输入保护密码和确认密码,单击下一步后指定文件名,最后单击完成即可。

这样在重装系统之后,右键单击导出的私钥文件,选择安装PFX之后就可以一步一步导

入私钥。导入完成后,就可以顺利地打开EFS加密的文件夹。

软件的方法不可靠

在没有备份密钥的情况下,要对EFS解密几乎是不可能的,虽然网上流行很多种方法,但

是可行性微乎其微,劝大家放弃。因为某些EFS使用的是公钥证书对文件加密,而且在

Windows 2000/XP中,每一个用户都使用了惟一的SID(安全标志)。第一次加密文件夹时,

系统会根据加密者的SID生成该用户的密钥,并且会将公钥和密钥分开保存。如果在重装系统

之前没有对当前的密钥进行备份,那就意味着无论如何都不可能生成此前的用户密钥,而解密

文件不仅需要公钥,还需要密码,所以也就根本不能打开此前EFS加密过的文件夹。

编者按:通过各位大虾的谈论,至少应该得出这样一个结论,在进行EFS加密后一定要进

行证书备份。否则遇到特殊情况,那被加密过的文件夹就无法打开了。

共享Win XP中的EFS加密文件

EFS作为一种安全性较高的加密方式一直深受大众的喜爱。但是在Windows XP以前,EFS

加密 是不支持共享的,这就意味着被加密的文件只能由加密操作者或安装了加密证书的用户

查看,给网络上的共享造成一些不便。

微软认识到了这个问题,在Windows XP ProfessionalEFS版本中,加入了共享的特

性。要共享一个被EFS加密的文件,必须由系统管理员或文件加密操作者操作,否则会在操作

过程中出错。具体操作步骤如下:

1.用管理员组里面的账户或EFS加密创建者账户登录Windows,然后打开被加密的文件夹

(因为EFS是对文件加密,不是对文件夹加密,所以其他用户也可以打开文件夹),右击要共

享的被加密的文件,选择属性,打开文件属性对话框。

2.常规选项卡中点击高级按钮,在高级属性对话框里点击详细信息按钮;然后点

添加按钮,添加另外一个用户的EFS证书,在用户证书列表里面选择一个证书,然后点击

确定按钮完成添加工作。

注意:该证书只有在第一次使用EFS时才会被创建,因此要让别的用户能够查看被EFS

密的文件,必须先创建这个证书,也就是说其他用户必须先使用一次EFS加密。

3.依次点击确定按钮,退出全部对话框即可完成EFS加密文件的共享操作。

注意:

1.以上操作在Windows XP Professional里面试验成功,Windows XP Home Edition不支

EFS,所以是无法操作的。

2.执行前必须确认操作者对于被加密的文档具有写操作权限或修改权限(对于Office

档),否则执行过程中会出现错误。

3.使用EFS以后,如果碰到需要重新安装操作系统、甚至是修复安装时,都必须事先备份

加密证书,否则重新安装/修复安装完成以后,以前被加密的文件将无法打开。

小知识:EFS是加密文件系统(Encrypting Files System)的英文缩写,是自Win 2000

以来微软为了提高文件的安全特性在NTFS文件系统中引入的一种核心文件加密技术。EFS

加密该文件的用户是透明的,不必在使用前手动解密,可以正常打开和更改文件。

Windows文件夹加解密技巧

面对一成不变的Windows文件夹,大家有没有想过让其个性化些?如何让你文件夹里的信

息更安全?如何让你文件夹使用起来更方便呢?本文中笔者将给大家介绍这方面的技巧,一定

会让你的系统看起来更加有个性,使用更方便,信息更安全,今天我们刊登出加解密篇。

加密:

每个人都有一些不希望别人看到的东西,例如学习计划、情书等等,大家都喜欢把它们放

在一个文件夹里,虽然可以采用某些工具软件给文件夹加密,但那样太麻烦了,有没有什么简

单的方法可以为自己的文件夹设定一个密码呢?答案是肯定的,利用Windows自带功能我们就

能轻松的为文件夹设定密码。

1.在Windows 9X/Me/2000

进入要加密的文件夹,点击右键,在弹出的菜单中选择自定义文件夹。接下来在向导中

点击下一步,选择自定义并勾选选择或编辑该文件夹的Html模板,在模板类型中选择

,并选中编辑该模板,点击下一步(在Win98中稍有不同,直接在向导中选择创建或编

HTML文档即可)。此时将会打开一个名为Folder的文本文件。在该文件中找到<script

language="JavaScript">字段,在其下方输入以下内容(中文双引号内为注释内容,不需要

输入):

var pass=prompt("Please Enter the Password");prompt命令后的括号内输入进入文件

夹后的提示用语,可以为中文。分号可省略。可此行必须单独一行

if(pass!="123")密码为123,也可以设置为其他密码

{on="c:"}若密码错误,则进入C盘,也可以设为别的分区,但是只能为

根目录

保存后退出该文件设置便可以起效。文件在创建后,下次需要更改设置我们

就可以直接在文件夹中找到文件,用记事本打开后进行修改,保存后设置即可生

效。若是在WinMe操作系统,则没有<script language="JavaScript">字段,我们要找的字

段是<script>,把上面的内容放在该字段后即可。

2.在Windows XP

Windows XP中的自定义文件夹中没有相应的选项对模板进行编辑,而且直接编辑其中

文件也无效。这时候我们可以曲线救国:先在Windows2000中按以上方式建立

一个加密的文件夹,然后把该文件夹整体复制到Windows XP中即可。

通过以上的方法,我们可以完成对私人文件夹的加密。虽然比较简单,但是也能起到一定

的作用,特别是对于那些无意窥视他人隐私的人来讲。

解密:

当然,以上的加密是非常脆弱的,下面我就向大家介绍一下如何对此类文件夹进行解密操

作,当你在加密后却忘记了密码的时候,就能派上用场了。当然,可不能利用这个去做坏事

哦。

方法一(适用于Windows98/Me系统):进入一个未加密的文件夹,点击菜单栏上的查看

命令,取消Web页查看选项。再次点击查看,选择文件夹选项,在弹出的对话框中选择

查看选项卡。点击与当前文件夹类似,确定后即可取消本机上所有文件夹的加密。

方法二:采用方法一将会取消对所有已加密文件夹的加密属性,无法对单个文件夹进行解

密操作,而且不适用于Win2000XP系统。其实,不管是在98系统还是2000/XP系统下,破

解这种类型的加密文件夹有一个通用的方法,我们甚至可以像进入自己的文件夹那样进入到加

密的文件夹:假设被加密的文件夹为dlj,那么只需要在地址栏中输入dljfolder

,就可以打开改设置文件()。我们只要在改文件中找到进

行加密的几行代码,密码就毫无保留的呈现在了我们面前。记下了密码,再打开加密的文件

夹,我们就可以轻松进入了!