Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entpacke ich passwortgeschützte ZIP-Dateien in Go 1.2 mit 7zip?

Wie entpacke ich passwortgeschützte ZIP-Dateien in Go 1.2 mit 7zip?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 03:12:021026Durchsuche

How to Unzip Password-Protected ZIP Files in Go 1.2 Using 7zip?

Passwortgeschützte ZIP-Dateien in Go 1.2 entpacken

Das Paket os/exec bietet eine praktische Möglichkeit, mit externen Befehlen zu interagieren. Beachten Sie beim Entpacken verschlüsselter ZIP-Dateien mit 7zip in Go 1.2 Folgendes:

Das Archiv-/Zip-Paket bietet grundlegende ZIP-Manipulationsfunktionen. Anstatt es zum Extrahieren passwortgeschützter ZIP-Dateien zu verwenden, können Sie 7zip über os/exec verwenden.

Hier ist eine Illustration:

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

func extractZipWithPassword() {
    fmt.Printf("Unzipping `%s` to directory `%s`\n", zipPath, extractPath)
    commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zipPath, extractPath, zipPassword)
    commandSlice := strings.Fields(commandString)
    fmt.Println(commandString)
    c := exec.Command(commandSlice[0], commandSlice[1:]...)
    e := c.Run()
    checkError(e)
}</code>

Beispielprogramm mit 7zip

<code class="go">package main

import (
    "fmt"
    "os"
    "os/exec"
    "path/filepath"
    "strings"
)

var (
    // Your variables and paths...
)

func main() {
    fmt.Println("# Setup")
    //...
    fmt.Println("# Answer to question...")
    extractZipWithPassword()
    //...
    fmt.Println("Done.")
}</code>

Ausgabe:

# Setup
# Answer to question...
Unzipping `test/src/sample.zip` to directory `test/extracted`
7za e test/src/sample.zip -otest/extracted -p"42" -aoa
Reading test/extracted/name.txt
Done.

Mit diesem Ansatz können Sie passwortgeschützte ZIP-Dateien mit 7zip in Go 1.2 entpacken.

Das obige ist der detaillierte Inhalt vonWie entpacke ich passwortgeschützte ZIP-Dateien in Go 1.2 mit 7zip?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn