网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

第35篇 实现C#编程文件夹加锁保护

时间:2024-10-17 14:54

人气:

作者:admin

标签:

导读:要想保护自己的文件夹内的信息不被别人看到,可以给文件加个锁【注意:加锁用的密码一定要记住】 用C#语言实现一个文件夹锁的程序,程序的基本原理是:用C#语言重命名文件夹,通...

用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

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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信