Mr.*_*bot 5 c# zip hashcode zipfile dotnetzip
大多数情况下,这段代码都可以工作,但是,大约有 1/3 的时间,它通过了大约 80% 的时间并失败了。解压缩 x 射线图像文件时解压缩失败。(它们是没有文件扩展名的编号文件。)它似乎在大部分时间都能处理它们,但是,每隔一段时间就会有一个无法解压缩的 X 射线。当它在文件上失败时,它会给它一个带有随机扩展名的随机文件名。它似乎在解压缩时遇到了它不理解的字符组合。
它特别发生在 aes 加密的 zip 文件中。如果他们发送没有 aes 加密压缩的相同文件,那么程序会很好地解压缩它们。
当我使用 7zip 应用程序手动解压缩同一个 zip 文件时,我输入了相同的密码并且它工作得很好。
前任。文件应该是:00043 ==> 解压失败产生:1hzcqoee.nss
尚未计算最终散列。
在 Ionic.Zip.WinZipAesCipherStream.get_FinalAuthentication() 在 Ionic.Zip.ZipEntry.VerifyCrcAfterExtract(Int32calculatedCrc32, EncryptionAlgorithm encryptionAlgorithm, Int32 expectedCrc32, Stream archiveStream, Int64 uncompressedSize) at Ionic.Zip. encryptionAlgorithm, Int32 expectedCrc32) at Ionic.Zip.ZipEntry.InternalExtractToBaseDir(String baseDir, String password, ZipContainer zipContainer, ZipEntrySource zipEntrySource, String fileName) at Ionic.Zip.ZipFile._InternalExtractAll(String path, Boolean overrideExtractExistingNewPropertySystemsZip4) at Ionic.Zip.ZipEntry.InternalExtractToBaseDir(String baseDir, String password, ZipContainer zipContainer, ZipEntrySource zipEntrySource, String fileName) (字符串 zipToUnpack,字符串 unpackDirectory)
using Ionic.Zip;
public bool ExtractZip(string zipToUnpack, string unpackDirectory)
{
using (ZipFile zip1 = ZipFile.Read(zipToUnpack))
{
foreach (ZipEntry z in zip1)
{
if (z.FileName.Contains(".mdf"))
{
foundMDF = true;
isEncrypted = z.UsesEncryption;
}
}
if(isEncrypted)
zip1.Password = zipPass;
zip1.ExtractAll(unpackDirectory, ExtractExistingFileAction.DoNotOverwrite);
ExtractSuccess = true;
}
return ExtractSuccess;
}
Run Code Online (Sandbox Code Playgroud)
我什至尝试使用以下行添加第二次尝试,它产生相同的结果。
zip1.ParallelDeflateThreshold = -1;
Run Code Online (Sandbox Code Playgroud)
有没有人处理过这个错误?请帮我解决这个哈希错误!谢谢!
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |