C#NUnrar库(无密码提取受密码保护的rar文件)
我正在使用C#中的这个库来提取RAR文件 即使文件受密码保护,它也能提取文件吗?它甚至不需要密码。这怎么可能C#NUnrar库(无密码提取受密码保护的rar文件),c#,rar,winrar,C#,Rar,Winrar,我正在使用C#中的这个库来提取RAR文件 即使文件受密码保护,它也能提取文件吗?它甚至不需要密码。这怎么可能 我正在使用WinRar创建RAR文件,并在其上输入密码。我是nunrar和 我正在对受密码保护的rar档案进行解密,这是我下一步要做的事情,因为我认为我已经这么做了(zip文件模糊了我的记忆) 正如另一条评论所说,我一直在寻求帮助,但希望我能尽快完成。(2018年底)。使用密码解包RAR(4或5格式)存档的解决方案: 安装Nuget包7z.Libs()和Squid-Box.SevenZ
我正在使用WinRar创建RAR文件,并在其上输入密码。我是nunrar和 我正在对受密码保护的rar档案进行解密,这是我下一步要做的事情,因为我认为我已经这么做了(zip文件模糊了我的记忆) 正如另一条评论所说,我一直在寻求帮助,但希望我能尽快完成。(2018年底)。使用密码解包RAR(4或5格式)存档的解决方案: 安装Nuget包7z.Libs()和Squid-Box.SevenZipSharp()。 使用此代码:(编辑:错误更正)
很明显,考虑到项目需要“加密等复杂项目”的帮助,它无法解密文件。对,我也看到了这样的评论:你绝对确定该文件受密码保护吗?@w0lf是的,我100%确定。奇怪的是,若你们只是对ZIP文件进行密码保护,那个么它就可以在不询问密码的情况下解压。但是如果你也在ZIP文件中加密文件名,那么它就不能解压。这是实现的吗?如果是的话,你能告诉我怎么做吗?非常感谢:-)如果添加了支持(请参阅我链接为dup的内容),请更新您的答案。SharpCompress(NUnrar继任者)支持解密rar文件
public void Unpack()
{
var rawBytes = File.ReadAllBytes(".\\Some.rar");
using (var stream = new MemoryStream(rawBytes, true))
{
// Toggle between the x86 and x64 bit dll
var path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, Environment.Is64BitProcess ? "x64" : "x86", "7z.dll");
SevenZip.SevenZipBase.SetLibraryPath(path);
using (var outMemStream = File.Create(".\\SomeSingleFile.txt"))
{
var extractor = new SevenZipExtractor(stream, "passwordXXX");
var entry = extractor.ArchiveFileData.Single(info => false == info.IsDirectory);
extractor.ExtractFile(entry.Index, outMemStream);
}
}
}