第35篇 C#文件夹加锁小工具

news/2024/10/19 19:03:03

要想保护自己的文件夹内的信息不被别人看到,可以给文件加个锁【注意:加锁用的密码一定要记住】

用C#语言实现一个文件夹锁的程序,程序的基本原理是:用C#语言重命名文件夹,通过重命名使之成为windows安全文件的类标识符。具体的方法是为文件夹添加拓展名“.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”

(.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}是windows安全文件的类标识符),这时文件夹的图标就会变成一把锁,这样文件夹就被加锁了。

以下是使用流程

1.启动程序

image

image

2.选择要加锁的文件夹,并输出加锁密码【注意,密码一定要记住】

image

image
出现如图效果,文件夹加锁成功
image

加锁成功后,会出现这个图标,不解锁的情况下是无法访问这个文件夹里的内容的
image

3.解锁

再次选择文件夹,输入解锁密码【加锁时用的密码】
image

image
解锁完成后文件夹里的内容就可以正常访问了
image

image

4.核心代码如下

点击查看代码
	private void button1_Click(object sender, EventArgs e){status = arr[0];         if (folderBrowserDialog1.ShowDialog() == DialogResult.OK){                DirectoryInfo d = new DirectoryInfo(folderBrowserDialog1.SelectedPath);string selectedpath = d.Parent.FullName + d.Name;if (folderBrowserDialog1.SelectedPath.LastIndexOf(".{") == -1) //通过文件夹名称,判断是加密还是解密{if (checkBox1.Checked)setpassword(folderBrowserDialog1.SelectedPath);if (!d.Root.Equals(d.Parent.FullName)){d.MoveTo(d.Parent.FullName + "\\" + d.Name + status); //文件夹重命名}else{d.MoveTo(d.Parent.FullName + d.Name + status);}textBox1.Text = folderBrowserDialog1.SelectedPath;pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\Images\\lock.jpg");this.notifyMessage.Text = "加锁成功";this.notifyMessage.ForeColor = Color.Red;}else{//解密文件夹status = getstatus(status);bool s=checkpassword();if (s){File.Delete(folderBrowserDialog1.SelectedPath + "\\p.xml");d.MoveTo(folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf(".")));textBox1.Text = folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf("."));pictureBox1.Image = Image.FromFile(Application.StartupPath + "\\Images\\unlock.jpg");this.notifyMessage.Text = "解锁成功";this.notifyMessage.ForeColor = Color.Green;}}}}

5.我的demo程序的代码地址,有需要可以看看

代码库地址:https://gitee.com/chenshibao/folder-protection-tool.git

结束语:本文件夹加密程序是通过重命名文件夹的方式实现的,加密强度较弱,但可以满足一定的加密需要!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

金属矿山电子封条系统

金属矿山电子封条系统的主要特点和作用如下:金属矿山电子封条系统通过电子封条的安装位置和追踪技术,金属矿山电子封条系统可以对煤矿进行实时监控,确保安全事件的及时发现和处理。金属矿山电子封条系统识别到运输设备启动运行 或者识别到运输设备运行工作状态下有煤、无煤转…

工业机器人维修保养|ABB机器人IRB 6700维修保养技巧

通过机器人维修保养服务定制合理的维修保养工作,可以确保ABB机器人IRB 6700的持续稳定运行,延长其使用寿命,为企业的生产提供有力保障。 一、ABB机器人IRB 6700日常检查与维护 外观检查:每日工作前后,应检查ABB机器人IRB 6700外观是否有明显的损伤、腐蚀或油漆剥落。特别注…

C++ 易踩坑总结以及小技巧

1. for循环中在栈上创建的对象可能具有相同的地址,进行指针操作时需注意;所以循环中最好使用new来创建指针并操作地址; for (int x : arr) {ClassName obj(); \\ it is like to have the same address in every loopClassName obj2 = new ClassName();std::cout<<&…

【转载】 蚂蚁集团骆骥谈如何打造下一代智能数据体系

【转载】 蚂蚁集团骆骥谈如何打造下一代智能数据体系 本文整理自2024外滩大会“Data+AI”见解论坛骆骥(蚂蚁集团数据平台与服务部负责人)的演讲实录在过去这两年时间,生成式人工智能在科技领域取得了重大的突破,海量的数据和庞大的算力相碰撞,推动了无数科技产品的创新。在…

2024.09.11星期三

今天学习了springboot的相关知识,由于自己使用原生的Maven经常出现tomcat配置 与hive数据库冲突的问题,因此选择了内置tomcat不需要自己配置也更加先进的springboot 确实也该学习一些新的技术不能总是局限于原生的javaweb了 以下是今天踩的一些坑 1.用IDEA创建springboot项目…

2024.09.11

今天主要继续学习了springboot的相关内容,在昨天实现了基础的登录功能后,今天对增删改查有了更深刻的认识 特别是通过连接hive,对于网页的getmapper和postmapper有了更深刻的认识,实现了基础的增删改查并且优化了 页面 repository包,其中建立了类,这个类就是用于继承JpaR…

2024-10-17_Thu_13:52 - 财富目标:求其上者得其中

2024-10-17_Thu_13:52 - 财富目标:求其上者得其中 ​​ 态势:攻与守有钱人玩金钱游戏是为了赢。穷人玩金钱游戏是为了不要疏。意念的力量很惊人!‍ 目标:求其上者得其中,求其中者得其下,求其下者无所得致富法则 如果你的目标是过得舒服就好,你就很可能永远也不会有钱。但…

完全指南:如何高效进行业务应用开发?

了解如何通过 NocoBase 的无代码平台简化业务应用开发。本文涵盖了从业务需求定义到工作流程自动化及安全管理的关键策略,帮助企业构建灵活、可扩展的应用。❤️ 温馨提醒 本篇文章较长,你可以根据目录选择最感兴趣的部分阅读。当然,我相信如果你全部阅读完,一定会有不少的…