文件夹 伪装加密的简单实现
技术:c# WFM
概述
此工具, 拖拽文件夹,进行文件夹的伪装加密/解密,支持任意文件夹,对于保护隐私,防偷窥是一种不错的选择。
详细
效果展示
原理
使用 windows 的CLSID,进行伪装文件,可以伪装为 我的电脑,回收站,等等。具体使用和说明,可以百度一下。 https://docs.microsoft.com/zh-cn/windows/win32/com/clsid-key-hklm
执行exe程序的本质是 重命名文件,例如将 文件夹重命名为 回收站.{645FF040-5081-101B-9F08-00AA002F954E} 文件夹就会变为回收站,里面的文件也会隐藏起来。解密的执行也是重命名文件夹。
工具实现过程
1.准备c# WFM窗体应用程序(作为入口)
如下图, 创建窗体程序以及相关的控件(输入框、按钮等)
2. 添加拖拽文件夹及读取功能
对应的代码如下
private void From_DragEnter(object sender, DragEventArgs e) { string fileInfo = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); // 获取拖拽内容的信息 if (!Directory.Exists(fileInfo)) { return; } textBox1.Text = fileInfo; oldFoler = fileInfo; }
3. 加密的实现
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { return; } String clsid = "{645FF040-5081-101B-9F08-00AA002F954E}"; if (textBox2.Text!= "") { clsid = textBox2.Text; clsid = clsid.Replace(" ", ""); } Directory.Move(textBox1.Text, textBox1.Text + "." + clsid); textBox1.Text = textBox1.Text + "." + clsid; }
4. 解密的实现
private void button2_Click(object sender, EventArgs e) { String orgFoler = textBox1.Text; if (orgFoler == oldFoler) { int indexStart = orgFoler.IndexOf(".{"); oldFoler = orgFoler.Substring(0, indexStart); } Directory.Move(textBox1.Text, oldFoler); textBox1.Text = oldFoler; }
总结
此工具,代码不是很多,但是基本核心功能都有了,对于任意的文件夹 都可以执行,需要扩展的话,也很容易。此处就不再详述。
最后,请多多支持,谢谢!
项目结构图
本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码