Я не могу получить библиотеку openpgp golang, чтобы сжать мой вывод - PullRequest
0 голосов
/ 18 января 2020

У меня проблемы с запуском сжатия при работе с Golang библиотекой openpgp. Я пытаюсь зашифровать и сжать файлы размером более 2G, поэтому я использую файловые буферы, даже если это ужасная практика. Фрагмент моего кода выглядит следующим образом:

    newPath := path + ".gpg"

    // encrypt string
    fBuf, err := os.OpenFile(newPath, os.O_WRONLY|os.O_CREATE, 0644)
    defer fBuf.Close()
    if err != nil {
        return "", err
    }

    wc, err := openpgp.Encrypt(fBuf, entityList, nil, nil, pgpConfig)
    defer wc.Close()
    if err != nil {
        return "", err
    }

    r, err := os.OpenFile(path, os.O_RDONLY, 0644)
    defer r.Close()
    if err != nil {
        return "", err
    }

    if _, err := io.Copy(wc, r); err != nil {
          return "", err
    }

pgpConfig имеет следующие определения:

var pgpConfig = &packet.Config{
  DefaultCompressionAlgo: packet.CompressionZLIB,
  CompressionConfig: &packet.CompressionConfig{
    Level: 6,
  },
}

В настоящее время шифрование и дешифрование работают точно так, как предполагалось, но сжатия абсолютно нет. Я попытался импортировать библиотеку zlib и напрямую использовать ее без удачи ... Опять же, шифрование и дешифрование работают, но без сжатия. Любая помощь будет очень признательна!

Спасибо!

...