C# 利用winrar解压带密码的压缩包
前言:基于上篇文章介绍了在Android中生成带密码的压缩包,根据需求,我需要在桌面将其进行解压。解压的过程中,我们可以将压缩包中需要保密的文件利用其它方法同时进行加密,以保证解压后数据的安全性。
这种方式解压的代码比较简单,不再累赘介绍,我将我封装的方法分享出来
/// <summary>/// 工程压缩包操作类(利用winrar进行解压,故系统上必须安装winrar)/// </summary>public class ZIPPackageOP{/// <summary>/// 解压带密码的压缩包(zip;rar都可)/// </summary>/// <param name="zipFilePath">压缩包路径</param>/// <param name="unZipPath">解压后文件夹的路径</param>/// <param name="password">压缩包密码</param>/// <returns></returns>public static bool unZIP(string zipFilePath,string unZipPath,string password){if (!isStallWinrar()){MessageBox.Show("本机并未安装WinRAR,请安装该压缩软件!", "温馨提示");return false;}System.Diagnostics.Process Process1 = new System.Diagnostics.Process();Process1.StartInfo.FileName = "Winrar.exe";Process1.StartInfo.CreateNoWindow = true;Process1.StartInfo.Arguments = " x -p" + password+" " + zipFilePath + " " + unZipPath;Process1.Start();if (Process1.HasExited){return true;}else{return false;}}/// <summary>/// 判断系统上是否安装winrar/// </summary>/// <returns></returns>public static bool isStallWinrar(){RegistryKey the_Reg =Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());}}