Heim >Backend-Entwicklung >Golang >Wie entpacke ich passwortgeschützte Zip-Dateien in Golang?

Wie entpacke ich passwortgeschützte Zip-Dateien in Golang?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 01:48:29735Durchsuche

How to Unzip Password-Protected Zip Files in Golang?

Passwortgeschützte Zip-Dateien in Golang entpacken

Mit der jüngsten Version von Golang 1.2 wurde das Paket archive/zip eingeführt. Es scheint jedoch grundlegende Zip-Funktionen zu bieten und es fehlt die Unterstützung für das Entpacken passwortgeschützter Zip-Dateien. Um dieses Problem zu beheben, besteht ein alternativer Ansatz darin, 7zip zu verwenden.

Lösung: Verwendung von 7zip über das OS/Exec-Paket von Go

Vorausgesetzt, 7zip bietet robuste Zip-Funktionalität, einschließlich Passwort Durch das geschützte Entpacken können wir das os/exec-Paket von Go nutzen, um 7zip-Befehle aus unserem Go-Code heraus auszuführen.

Codebeispiel

Der folgende Go-Code zeigt, wie man entpackt eine passwortgeschützte ZIP-Datei mit 7zip:

<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>

Verwendung

  • Stellen Sie sicher, dass 7zip auf Ihrem System installiert und zugänglich ist.
  • Passen Sie die Variablen zipPath und extractPath an die tatsächlichen Speicherorte der passwortgeschützten Zip-Datei bzw. des gewünschten Extraktionsverzeichnisses an.
  • Führen Sie das Go-Programm aus, um die passwortgeschützte Zip-Extraktion durchzuführen.

Diese Lösung nutzt effektiv die bewährte Zip-Funktionalität von 7zip und bietet Golang-Entwicklern eine einfache Möglichkeit, mit passwortgeschützten Zip-Dateien umzugehen.

Das obige ist der detaillierte Inhalt vonWie entpacke ich passwortgeschützte Zip-Dateien in Golang?. 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