使用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;//导入 ...
随机推荐
- mysql外键添加error1215
在mysql创建表外键的过程中,由于操作不当,会提示cannot add foreign key constraint的错误. 造成此错误可能的原因如下: 1.数据类型不匹配,外键与其相关联的键必须数 ...
- [WPF] 我的WPF自学日记2,自定义入口
在winform中入口文件就是Program.cs,而在WPF中看不到,因为它是自动生成的,可以说隐藏了,我们可以自定义一个入口文件,然后修改项目属性中的启动对象为我们自定义的入口文件. 首先新建入口 ...
- PHP uniqid 高并发生成不重复唯一ID
http://www.51-n.com/t-4264-1-1.html PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环代码)的情 ...
- iOS单例详解
单例:整个程序只创建一次,全局共用. 单例的创建 // SharedPerson.h 文件中 + (instancetype)share; // SharedPerson.m 文件中 static S ...
- poj2718-Smallest Difference(枚举全排列)
一,题意: 给出最多10个数字,将它们划分为两个整数,求差值最小的值(除非只有一位数,否则不允许出现先导0) 很显然如果总共有n个数,必然有一个整数长n/2,另一个长n-n/2.二,思路: 利用nex ...
- 数据库中的two phase locking
数据库中的two phase locking 两段锁协议是指每个事务的执行可以分为两个阶段:生长阶段(加锁阶段)和衰退阶段(解锁阶段). 加锁阶段:在该阶段可以进行加锁操作.在对任何数据进行读操作之前 ...
- 国内2大Git代码托管网站
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- 验证码类库CaptchaMvc
CaptchaMvc是一个有弹性的.简单的解决方案,它能够解决你项目中所有与验证码相关的问题.你需要做的所有事情就是向你的项目中添加一个类库,添加之后验证码就准备就绪了.该项目拥有使用验证码所需要的所 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- [开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧
不知不觉又半个月没有更新博客了,今天终于抽出点时间,来分享一下前段时间的成果. 在网上,我们经常看到各种各样的图片,尤其是GIF图片的动态效果,让整个网站更加富有表现力!有时候,我们看到一些比较好看的 ...