文件夹加密小工具

提醒:使用前请新建一个无用的文件夹先做测试,可正常使用后再加密其他文件夹
说明:软件只是对文件夹做了隐藏,禁止Everyone对文件夹的读写权限,并不是加密了文件

更新内容

图片[1] - 文件夹加密小工具 - 宋马
对加密文件夹进行了名称修改,除禁止Everyone读写外,还修改名称为畸形文件夹,使其被everything搜索到后无法打开。
如果使用的是最早的版本,没解密就移除了文件夹,可以通过设置“文件夹选项”来显示被隐藏的文件夹,然后手动把目录增加到软件下的表格里。

文件夹加密小工具

可以搜索到,可以打开

文件夹加密小工具

可以被搜索到,但无法打开

文件夹加密小工具

蓝奏云下载:

https://wwfh.lanzout.com/icJ082eatxba

密码:df4b

更新内容

图片[1] - 文件夹加密小工具 - 宋马
1、去掉了miniExcel引用包,删除掉了excel配置文件
2、增加了密码登录功能,可以修改密码
3、使用sqlite3数据库来保存文件夹列表和用户密码,用户密码采用md5加盐
4、使用了 antdui来美化下界面
5、未解锁文件平不能被移除
其他还是保持老样子,由于未在别的电脑上做测试,

有用户反应文件加锁后无法解锁,解锁后的文件无法删除这些问题,请在使用时先在电脑上建个无用文件夹先试一下,确认无问题后再使用

附件超过3M了,只能分成两部分了

】【

前言


最近想要把电脑上的一些文件夹隐藏掉,基本上实现看不见、打不开就行了,看了一下网上现有的软件,实现起来基本上有如下几种:
1、真正的对文件夹里的所有内容进行加密,时间上花费太大,使用的时候还需要解密了,这不是咱需要的
2、对文件夹改图标或畸形文件夹来实现隐藏
3、通过文件acl来实现禁止对文件夹的访问
4、还有一些咱也不知道原理的,但看上去功能一般,偏偏还收费。
5、使用Bitlocker,但这个只能对分区,不能对文件夹,并且初始化时超级慢
综合以上,决定自己手写一个简单的,不需要对文件加密,只需要对一般水平的人隐藏,并且就算显示了隐藏,也禁止被访问到就可以了,那就使用文件acl来实现吧,acl本质上不能加密码访问,软件加密码只是为了防止别人知道你隐藏了哪些文件夹而已,所以就没有使用密码。

第三方引用


采用c#编写,环境为.net 4.7,引用了miniExcel,用于加载和保存你设置好的文件夹列表,免得下次打开时找不到已经隐藏的文件夹。
如果软件好用的话,后来将使用sqlite数据库来保存文件夹列表和目录,目前就将就一下吧。
folderpath.xlsx 文件,用于存放文件目录和状态

简介


使用起来很简单,目前软件没有密码,打开直接是界面

文件夹加密小工具

就四个按钮,很简单直观,选择一个文件夹,然就可以进行加密或解密了,如果不想使用这个文件夹了,选中后点移除就从软件中去掉了。

文件夹加密小工具

文件夹加密小工具

加锁后的文件就看不到,就算你显示隐藏,也无法打开了。
软件隐藏后可以阻止被系统索引,但无法阻止被everything搜索,并且为了快速简单,只禁止了文件夹访问,里面的文件只要是正确的地址,还是可以打开的。

点击下载【

有兴趣的可以试试源码,自己完善下

 [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)][/align][align=left]
[return: MarshalAs(UnmanagedType.Bool)][/align][align=left]
static extern bool SetFileAttributes([MarshalAs(UnmanagedType.LPTStr)] string lpFileName, FileAttributes dwFileAttributes);[/align]
[align=left]
string ExcelPath = "folderpath.xlsx";[/align][align=left]
string Title = "文件夹加解密提醒";[/align][align=left]
public void Lock(string FolderPath)[/align][align=left]
{[/align][align=left]
     string folderPath = FolderPath;[/align][align=left]
     FileAttributes attributes = File.GetAttributes(folderPath);[/align]
[align=left]
     // 添加属性以阻止文件夹被索引[/align][align=left]
     attributes |= FileAttributes.NotContentIndexed;[/align][align=left]
     SetFileAttributes(folderPath, attributes);[/align]
[align=left]
     File.SetAttributes(folderPath, File.GetAttributes(folderPath) | FileAttributes.Hidden|FileAttributes.System);[/align][align=left]
     DirectorySecurity directorySecurity = Directory.GetAccessControl(folderPath);[/align][align=left]
     FileSystemAccessRule fileSystemAccessRule = new FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny);[/align][align=left]
     directorySecurity.AddAccessRule(fileSystemAccessRule);[/align][align=left]
     Directory.SetAccessControl(folderPath, directorySecurity);[/align]
[align=left]
}[/align][align=left]
public void UnLock(string FolderPath)[/align][align=left]
{[/align][align=left]
     string folderPath = FolderPath;[/align][align=left]
     DirectorySecurity directorySecurity = Directory.GetAccessControl(folderPath);[/align][align=left]
     FileSystemAccessRule fileSystemAccessRule = new FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny);[/align][align=left]
     directorySecurity.RemoveAccessRule(fileSystemAccessRule);[/align][align=left]
     Directory.SetAccessControl(folderPath, directorySecurity);[/align][align=left]
     File.SetAttributes(folderPath, File.GetAttributes(folderPath) & ~FileAttributes.Hidden&~FileAttributes.System);[/align][align=left]
}

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共47条

请登录后发表评论