使用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;//导入 ...
随机推荐
- Oozie_初识
Oozie 任务调度框架(基于工作流) oozie运行于hadoop集群,对hive,mr,flume,Soop,spark,shell等框架进行任务流调度 如: job1-->job2 &am ...
- iOS Block理解
以前看到Block觉得也没什么,不就是类似函数的东西,这东西在C#里就是委托,在Java里就是块,有什么稀奇的.但看到一点进阶的内容后,发现这个东西确实有用. 所以做下总结. 一.块的基本用法 块的语 ...
- sass/scss 和 less的区别
一. Sass/Scss.Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,Sass语法属于缩排语法,比css比多出好些功能(如变量 ...
- 验证mongodb主从复制过程~记录操作
接 mongodb的安装:http://www.cnblogs.com/myrunning/p/4319367.html 1.1创建数据目录 在这里我们将不使用mongodb的配置文件启动mongod ...
- iOS程序模块化设计
一.模块化设计的概述: 模块化设计(Block-based design):对一定范围内的不同功能或相同功能的不同性能.不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和 ...
- 控制TextField的内容长度
参考如下代码(下例是控制设置交易密码,控制6位): - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [ ...
- ql 判断 函数 存储过程是否存在的方法
下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助. 库是否存在 if exists(select * from master..s ...
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
- Python黑帽编程2.2 数值类型
Python黑帽编程2.2 数值类型 数值类型,说白了就是处理各种各样的数字,Python中的数值类型包括整型.长整型.布尔.双精度浮点.十进制浮点和复数,这些类型在很多方面与传统的C类型有很大的区 ...
- 如何在没有域的环境中搭建AlwaysOn(一)
对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量. 该特性可 ...