ホームページ  >  記事  >  バックエンド開発  >  Golang でパスワードで保護された ZIP ファイルを解凍する方法

Golang でパスワードで保護された ZIP ファイルを解凍する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 01:48:29664ブラウズ

How to Unzip Password-Protected Zip Files in Golang?

Golang でパスワード保護された ZIP ファイルを解凍する

Golang 1.2 の最近のリリースでは、アーカイブ/zip パッケージが導入されました。ただし、基本的な zip 機能は提供しているようですが、パスワードで保護された zip ファイルの解凍はサポートされていません。これに対処するための別のアプローチは、7zip を利用することです。

解決策: Go の os/exec パッケージ経由で 7zip を使用する

7zip がパスワードを含む堅牢な zip 機能を提供していることを考えると、 -protected 解凍では、Go の os/exec パッケージを利用して、Go コード内から 7zip コマンドを実行できます。

コード例

次の Go コードは、解凍する方法を示しています。 7zip を使用したパスワードで保護された zip ファイル:

<code class="go">import (
    "fmt"
    "os"
    "os/exec"
)

func main() {
    zipPath := "path/to/password-protected.zip"
    extractPath := "path/to/extract/to"
    password := "secret"

    // Construct the 7zip command string
    commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zipPath, extractPath, password)
    commandSlice := strings.Fields(commandString)

    // Execute the 7zip command
    c := exec.Command(commandSlice[0], commandSlice[1:]...)
    err := c.Run()
    if err != nil {
        panic(err)
    }

    fmt.Printf("Unzipped password-protected zip file to %s\n", extractPath)
}</code>

使用法

  • 7zip がシステムにインストールされ、アクセスできることを確認してください。
  • zipPath 変数と extractPath 変数を、パスワードで保護された zip ファイルの実際の場所と目的の抽出ディレクトリにそれぞれ調整します。
  • Go プログラムを実行して、パスワードで保護された zip 抽出を実行します。

このソリューションは 7zip の実証済みの zip 機能を効果的に活用し、Golang 開発者がパスワードで保護された zip ファイルを簡単に処理できる方法を提供します。

以上がGolang でパスワードで保護された ZIP ファイルを解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。