【C#文件夾鎖】C#文件夾加鎖小工具


  用C#語言實現一個文件夾鎖的程序,網上類似的“xxx文件夾xxx”軟件很多,但是基本上都是C/C++語言實現的,且都沒有提供源碼(這個可以理解,畢竟是加密程序,不應該泄露源碼)。

  程序的基本原理是:用C#語言重命名文件夾,通過重命名使之成為windows安全文件的類標識符。具體的方法是為文件夾添加拓展名“.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}”

(.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}是windows安全文件的類標識符),這時文件夾的圖標就會變成一把鎖,這樣文件夾就被加鎖了。

  程序的主界面非常簡潔,截圖如下:

程序中加密解密文件夾的核心代碼如下:

        private void btnBrowseFolder_Click(object sender, EventArgs e)
        {
           
            status = lockType;//
            

            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                DirectoryInfo d = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
                string selectedpath = d.Parent.FullName + d.Name;
                if (folderBrowserDialog1.SelectedPath.LastIndexOf(".{") == -1)//通過文件夾名稱,判斷加密
                {                    
                    SetPwd(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);
                    txtFolderPath.Text = folderBrowserDialog1.SelectedPath;
                    
                }
                else//解密文件夾
                {
                    status = GetStatus(status);
                    bool s = CheckPwd();
                    if (s)
                    {
                        File.Delete(folderBrowserDialog1.SelectedPath + "\\key.xml");
                        string path = folderBrowserDialog1.SelectedPath.Substring(0, folderBrowserDialog1.SelectedPath.LastIndexOf("."));
                        d.MoveTo(path);
                        txtFolderPath.Text = path;
                       
                    }
                }
            }
        }

程序的運行效果如下:

以加密D盤下面的test文件夾為例,結果如下:

首先通過folderBrowserDialog選擇相應的文件夾

輸入密碼,加鎖

效果如下:

此時雙擊文件夾已經無法打開。

選擇加密后的test文件夾,輸入加密時輸入的密碼,可解鎖。

test文件夾已經解密

結束語:本文件夾加密程序是通過重命名文件夾的方式實現的,加密強度較弱,牛人繞道,寫出來給大家多個談資~

希望對各位博友有幫助。請點擊下面的“綠色通道”---“關注DebugLZQ”,與DebugLZQ一起交流進步~

 

Update 2014-02-06: Folder protection for Windows using C# and concepts on Windows Shell menu for folders

Thanks, King!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM