Я использую dotnetzip для создания некоторых архивных файлов с некоторым AES паролем как:Действительно ли DotNetZip использует WinZipAes256?
using (ZipFile zip = new ZipFile())
{
zip.Password = PASS;
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.AddFile("test.txt");
zip.Save("test.zip");
}
после этого я заметил, чтение файла без указания алгоритма, что он работал без проблем
using (ZipFile zip = ZipFile.Read("test.zip")
{
zip.Password = PASS;
// zip.Encryption = EncryptionAlgorithm.WinZipAes256;
foreach (ZipEntry e in zip)
{
e.Extract(@"C:\tmp\");
}
}
тогда были случаи, когда выдержка создавала нечитаемый файл, но не всегда; большинство раз было прекрасно читаемым без указания алгоритма.
теперь основан на их вики:
Создать архив Zip, который использует WinZip-совместимое шифрование AES. Отвечая на вопрос о том, что стандартная защита паролей слабая, WinZip расширил спецификацию ZIP и добавил способ использования AES Encryption для защиты записей в Zip-файле.
Но не понимаю, действительно ли это шифрование AES 256.
В любом случае, указав алгоритм, он будет извлекать только читаемые файлы, чтобы файл был уверенным для чтения, теперь я беспокоюсь о безопасности.
EDIT Обязательно укажите алгоритм пароля перед извлечением или файлы не всегда будут считаться читаемыми!
Есть фактический вопрос, который вы хотели бы спросить? –
Да, может быть, неясно, но мой фактический вопрос: если шифрование находится в aes 256 или pkzip. – daniel
Вопрос _ «DotNetZip автоматически определяет шифрование архива, которое он читает, когда вы указываете правильный пароль?» _ Также имеет значение. Вам нужно будет проверить zip-файл или код, записывающий архив, чтобы ответить на ваш вопрос. – CodeCaster