有关文件加密解密的问题
发布网友
发布时间:2022-05-29 03:34
我来回答
共1个回答
热心网友
时间:2023-12-15 12:53
现在问题来了,昨天,你的Windows突然崩溃,在无计可施的情况下你只能选择重装系统,接下来一切进行的很顺利,可是你突然发现原来被加密过的数据已经打不开了。你可能想当然地认为,只要再建立一个跟原来加密时相同的用户名和密码,用那个新建的用户就可以打开。可是遗憾的是,你想错了。如果你的电脑是单机环境或者在工作组中,你的数据就已经永远打不开了。只有在域环境下,你才可以得到域管理员的帮助,解密这些文件。
原因是这样的,当你使用EFS加密后,系统会根据你的SID(SecurityIdentifier,安全标示符)自动生成一个密钥,而你如果要解密这些文件就需要使用到这个密钥。对于系统而言,并不是根据用户名来区别不同的用户,而是根据SID,这个SID是唯一的。SID和用户名的关系跟人的姓名和身份证号码的关系是一样的。虽然有同名同姓的人,但是他们的身份证号码绝对不会相同;虽然有相同的用户名(指网络上的,因为本地用户不能有相同的用户名),但是他们的SID是绝对不同的。这也就解释了为什么重装系统后即使使用之前的用户名和密码登陆也不能打开以前的加密文件。
所以在重装系统之前最好能把加密的数据全部解密。然而,为了应付突发的系统崩溃,就需要你备份好你的密钥,这样系统崩溃后只要重装系统,并导入你的密钥,就可以继续使用之前的加密文件了。
备份密钥的方法是这样的:
在运行中输入“certmgr.msc”并回车,打开证书管理器,在“当前用户”-“个人”-“证书”目录下,用鼠标右键点击颁发给你的证书,在“所有任务”中点击“导出”,并选择“ExportThePrivateKey”(导出私钥),其它选项按照默认设置。输入该用户的密码和保存路径就可以了。
在重装了系统之后,照旧运行certmgr.msc,并在“所有任务”中选择导入,选择好之的证书,然后按照向导,就可以完成对密钥的导入。或者直接在导出的pfx文件上点击鼠标右键,选择“安装PFX”。这时,你的加密数据已经可以访问了。
需要注意的是,EFS加密可以在Windows2000和WindowsXPProfessional中使用,WindowsXPHome不支持EFS加密。
EFS(Encrypting File System,加密文件系统)是从Windows 2000开始就提出的一种基于NTFS文件系统的核心文件加密技术,主要是用于保护本地数据。在使用EFS加密文件的同时,也产生了诸多麻烦,比如重装系统后无法打开EFS加密过的文件夹等等,那么我们该如何解密?现在让我们先来看看大家的讨论。
备份及导入密钥来解密
为了防止在重装系统后无法打开加密文件夹,我们可以通过下面的方法来备份及导入密钥:点击“开始→运行”,输入“certmgr.msc”,回车后打开证书管理器。展开“证书/个人/证书”,右键单击在右侧窗口中以用户名为名称的证书,在“所有任务”中选择“导出”打开证书导出向导。单击“下一步”之后选择“是,导出私钥”,单击“下一步”,选择默认导出文件格式,再单击“下一步”,输入保护密码和确认密码,单击“下一步”后指定文件名,最后单击“完成”即可。
这样在重装系统之后,右键单击导出的私钥文件,选择“安装PFX”之后就可以一步一步导入私钥。导入完成后,就可以顺利地打开EFS加密的文件夹。
软件的方法不可靠
在没有备份密钥的情况下,要对EFS解密几乎是不可能的,虽然网上流行很多种方法,但是可行性微乎其微,劝大家放弃。因为某些EFS使用的是公钥证书对文件加密,而且在Windows 2000/XP中,每一个用户都使用了惟一的SID(安全标志)。第一次加密文件夹时,系统会根据加密者的SID生成该用户的密钥,并且会将公钥和密钥分开保存。如果在重装系统之前没有对当前的密钥进行备份,那就意味着无论如何都不可能生成此前的用户密钥,而解密文件不仅需要公钥,还需要密码,所以也就根本不能打开此前EFS加密过的文件夹。
编者按:通过各位大虾的谈论,至少应该得出这样一个结论,在进行EFS加密后一定要进行证书备份。否则遇到特殊情况,那被加密过的文件夹就无法打开了。