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 の実証済みの zip 機能を効果的に活用し、Golang 開発者がパスワードで保護された zip ファイルを簡単に処理できる方法を提供します。
以上がGolang でパスワードで保護された ZIP ファイルを解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。