【问题标题】:DotNetZip password errorDotNetZip 密码错误
【发布时间】:2013-05-15 20:57:12
【问题描述】:

我正在使用 DotNetZip 使用密码将文件归档到 zip 文件中。

我使用的密码有 144 个随机字符。

using (var zip = new ZipFile())
{
    zip.Password = "144 characters password";
    zip.Encryption = EncryptionAlgorithm.WinZipAes256;
    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestSpeed;

    zip.AddEntry("file1.xml", data);

    zip.Save(file);
}

当我从后面的代码(指定密码)打开 zip 文件时,我可以得到里面的文件。

如果我使用 WinRar 打开存档并在那里设置密码,它会告诉我密码无效。

此问题的原因可能是什么?会不会是密码太长了?

【问题讨论】:

  • 可能与编码有关?您是否尝试过强制使用您的操作系统使用的相同编码?
  • 它们只是字符串中的数字,所以我认为不是这个问题。无论如何,我在WinRar 上读到它们最多支持 127 个字符
  • 很高兴知道这一点。不过,出于好奇,您为什么需要这么大的密码?你想挑战道格拉斯·亚当的深刻思想吗?
  • 我存储敏感数据,重要的是没有人可以打开这些文件。另外,密码是由我已经在项目中使用的工具生成的

标签: c# asp.net dotnetzip


【解决方案1】:

你运气不好。根据他们的Web site,WinRAR 只支持 AES-128,不支持 AES-256。

WinRAR 为您提供使用 AES(高级加密标准)和 128 位密钥的行业强度存档加密的好处。

更新:显然,WinRAR 5.0 beta 支持 AES-256。

【讨论】:

  • 不行,我怕密码长度太大。他们有最多 127 个字符的密码。 link
  • @RaraituL:当然可能两者兼有,尽管您提供的链接谈到 .rar 文件(而不是 .zip 文件)的限制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
  • 2011-02-03
相关资源
最近更新 更多