使用Windows EFS(怎么给文件夹加密)进行文件加密
和Windows BitLocker一样,Encrypting File System(EFS,加密文件系统)是Windows内置的一套基于公共密钥的加密机制,可以加密NTFS分区上的文件和文件夹,能够实时、透明地对磁盘上的数据进行加密。
加密操作
加密方法用户是透明的,文件加密之后,不必手动解密,使用者能自动打开加密文件,而其他用户则无法打开加密文件。
加密的方法很简单,在任何一个NTFS分区的目录或文件下,右击要加密的文件或文件夹;然后单击“属性”,在“常规”选项卡上,单击“高级”按钮;在弹出的窗口中,勾选“加密内容以便保护数据”复选框;点击“确定”即可,在关闭文件时文件即被加密。

在默认情况下,被EFS加密的文件或文件夹在资源管理器中会显示为绿色,这表示该文件或文件夹已经被EFS加密了。
如果不再希望对某个文件实施加密,清除该文件的属性中的复选框即可。
备份密钥
ESF加密操作虽然简单,但是如果用户重装了系统,以后即使利用原来的用户名和密码,也无法打开EFS加密文件(夹),因此用户应该及时备份密钥,这样以后即使重装系统,也能打开加密文件。
在进行加密操作后,Windows系统状态栏会自动提示用户进行备份加密密钥,点击后会出现“备份文件加密证书和密钥”的对话框,选择“现在备份”,会出现证书导出向导。

点下一步导出文件格式选项里,选择默认的“个人信息交换”。

再点下一步输入密码,这个密码是恢复证书要使用的密码,然后点下一步,选择保存地址,然后即可将证书文件成功导出。

如果用户没有点状态栏的图片即时进行备份密钥,也没有关系,还可以通过手动备份的方式进行密钥备份,方法是:点击菜单“开始”-“运行”,键入certmgr.msc打开证书管理器,点击“个人”-“证书”,只要以前做过加密操作,右边窗口就会有用户名同名的证书,假如有多份证书,选择“预期目的”为“加密文件系统”的;右击“证书”,在菜单中选择“所有任务”-“导出”。

之后会弹出一个“证书导出向导”窗口,在窗口中选取“导出私钥”,并按照向导的要求,输入密码保护导出的私钥,选择保存证书的目录,最后就完成了证书文件的导出工作。

加密的优点
EFS加密基于公钥加密策略,使用了一种快速的对称加密算法用一个随机生成的文件加密密钥(file encryption key,FEK)对文件或文件夹进行加密,加密不同的文件或文件夹时使用的密钥也不相同。
EFS加密的用户验证过程是在登录Windows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。所以这就是为什么EFS加密后的文件夹或文件,用户几乎无法感觉到加密效果的原因。
从操作的便利性来说,由于EFS的密码和用户登录Windows密码集成在一起,因此无需输入密码即可解密文件,操作甚为方便。
加密的缺点
不过,相比Bitlocker来说,EFS加密拥有几个重大的缺点。
首先,如果在重装系统前没有备份加密证书,重装系统后EFS加密的文件夹里面的文件将无法打开,即使用户使用原先的密码登录,也不能解密文件。
其次,对于多用户操作同一台电脑的情况,另一个用户虽然无法看到加密的文件内容,但是依旧可以看到加密的文件夹名称和文件名称,从而获得一些信息,此外,如果加密时候使用默认权限,其他用户还可以对EFS加密的文件和文件夹进行删除操作,因此,用户在使用EFS加密的时候,需要在“属性”-“安全”选项里设置一下文件或文件夹的访问权限,以防止他人查看或删除。
对于多用户使用同一台电脑还有一个有意思的情况,如果多用户都有管理员权限,那么修改另一个用户的密码,并用这个用户的身份登录系统后,并不能访问被EFS加密后的文件,因为用户密码被他人修改,但如果是用户自己对密码进行修改(需要输入旧密码的方式修改),那么用户依然可以打开被EFS加密的文件。
对于未设置访问权限的EFS加密文件是进行解密的前提条件是:知道用户帐户的登录密码,该被删帐户的配置文件必须存在,因为加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,如果以上两个条件满足,那么先从旧的配置文件里面获得被删帐户的SID(在配置文件目录\Application Data\Microsoft\Crypto\RSA 下有一个以该帐户的SID为名的文件夹,然后新建一个用户,用newsid工具把SID改的和原来一样,然后用新用户登录,随便加密一个文件,再注销,把旧的配置文件覆盖新用户的配置文件,再用新用户登录进去就可以解密其它文件了。
Bitlocker和EFS的对比
Bitlocker主要用于加密整个驱动器、外部硬盘、U盘等,EFS主要用于加密单个文件或文件夹。
Bitlocker不依赖用户账户,对于所有用户都是同样的状态(打开或关闭),EFS的加密依赖用户账户,如果电脑有多个用户,每个用户都可以独立加密自己的文件。
Bitlocker必须是管理员用户才能使用,EFS不需要管理员权限即可使用。
使用Windows EFS(怎么给文件夹加密)进行文件加密的更多相关文章
- 重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口
原文:重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (2 ...
- Windows中通过命令行新建文件夹、新建文件,和一些常用命令
新建文件 和Linux不太一样,Linux中的touch和vi命令创建新文件的方法都不能用了,在windows命令行下得用type nul>文件名.后缀名来创建: F:\study\vue\wo ...
- 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件
[源码下载] 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件 作者:webabcd 介绍背水一战 Windows 10 之 ...
- Windows如何自定义U盘盘符、文件夹图标、文件夹背景
自定义U盘盘符.文件夹图标.文件夹背景 注意对于Vista和Win7的用户不支持文件夹图标和文件夹背景的更换 1.自定义盘符:在U盘根目录下新建文件 autorun.inf(可先建.txt文本文档,再 ...
- C#遍历文件夹下所有文件
FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...
- 使用C#选择文件夹、打开文件夹、选择文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- tcl/tk实例详解——返回一个文件夹下所有文件的绝对路径
http://blog.csdn.net/dulixin/article/details/2133840 #所有代码如下,使用注释的方式讲解脚本#修改好文件夹和保存结果路径,可以把本文件直接拷贝进tc ...
- PHP查看本地文件夹及删除文件夹操作
查看文件夹(包括文件夹内所有的文件夹和文件) function descdir($dir){ if(is_dir($dir)){ if($dh=opendir($dir)){ while(($file ...
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小
本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类似Windows如下功能: 模块介绍: from ftplib import F ...
- FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有
2018-11-05 19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...
随机推荐
- Html5+Css3制作下拉菜单的三种方式
一.渐变式改变ol的高度 1.外部为ul标签,在每个li里嵌套一个ol列表2.设置外部li左浮动,内部ol标签绝对定位,外部li标签相对定位3.设置ol的高为0,溢出隐藏4.外部li标签:hover ...
- php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
<?php /** * @desc 解析当前目录并递归删除目录下的指定文件 * @author mengdj<mengdj@outlook.com> 2014.10.02 1530 ...
- Altium Designer之AD16在Win10系统下无法切换走线/布线模式的解决办法
有些童鞋会在Win10下使用AD16的时候发现,走线模式/布线模式(切换直角,45°,弧形等)不能切换. 问题出在输入法上,一般是切换到英文输入法即可解决,但是有一种情况是win10系统自带输入法有时 ...
- 通过c程序更改文件的ctime和mtime
通过c程序更改文件的ctime和mtime与某个文件相同 源文件words.txt [root@bogon ~]# ll words.txt ;ll words.txt -u -rw-r--r-- 1 ...
- Django后台
django的后台我们只要加少些代码,就可以实现强大的功能. 与后台相关文件:每个app中的 admin.py 文件与后台相关. 下面示例是做一个后台添加博客文章的例子: 一,新建一个 名称为 zqx ...
- bzoj1510: [POI2006]Kra-The Disks(单调栈)
这道题可以O(n)解决,用二分还更慢一点 维护一个单调栈,模拟掉盘子的过程就行了 #include<stdio.h> #include<string.h> #include&l ...
- mysql解决其他服务器不可连接问题
在安装mysql的机器上运行: 1.d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 2.mysql> ...
- Response.StatusCode的HTTP状态代码列表
1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.( ...
- SQLSERVER语句 in和exists哪个效率高本人测试证明
SQLSERVR语句 in和exists哪个效率高本人测试证明 最近很多人讨论in和exists哪个效率高,今天就自己测试一下 我使用的是客户的数据库GPOSDB(已经有数据) 环境:SQLSERVE ...
- spring事务管理器设计思想(二)
上文见<spring事务管理器设计思想(一)> 对于第二个问题,涉及到事务的传播级别,定义如下: PROPAGATION_REQUIRED-- 如果当前没有事务,就新建一个事务.这是最常见 ...