文件夹 伪装加密的简单实现

发布时间:2021-01-05

概述

此工具, 拖拽文件夹,进行文件夹的伪装加密/解密,支持任意文件夹,对于保护隐私,防偷窥是一种不错的选择。

详细

效果展示



原理

    使用 windows 的CLSID,进行伪装文件,可以伪装为 我的电脑,回收站,等等。具体使用和说明,可以百度一下。 https://docs.microsoft.com/zh-cn/windows/win32/com/clsid-key-hklm

    执行exe程序的本质是 重命名文件,例如将 文件夹重命名为 回收站.{645FF040-5081-101B-9F08-00AA002F954E} 文件夹就会变为回收站,里面的文件也会隐藏起来。解密的执行也是重命名文件夹。

工具实现过程

1.准备c# WFM窗体应用程序(作为入口)

   如下图, 创建窗体程序以及相关的控件(输入框、按钮等)

    image.png


2.  添加拖拽文件夹及读取功能

    image.png image.png

     对应的代码如下 

      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;
        }

总结

      此工具,代码不是很多,但是基本核心功能都有了,对于任意的文件夹 都可以执行,需要扩展的话,也很容易。此处就不再详述。

    最后,请多多支持,谢谢!


项目结构图

image.png








本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码