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

Mary-Kate Olsen
Freigeben: 2024-10-30 09:09:03
Original
502 Leute haben es durchsucht

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

Passwortgeschützte ZIP-Dateien in Go 1.2 entpacken

Das Archiv-/Zip-Paket in Go 1.2 bietet grundlegende Funktionen für den Umgang mit ZIP-Archiven, fehlt jedoch Unterstützung für Passwortschutz. Um eine durch ein Passwort geschützte ZIP-Datei zu entpacken, kann man das Paket os/exec verwenden, um ein externes Tool wie 7zip aufzurufen.

Befolgen Sie dazu diese Schritte:

  1. Erstellen Sie eine passwortgeschützte ZIP-Datei:Erstellen Sie eine Beispiel-ZIP-Datei mit dem 7zip-Tool und geben Sie das Passwort und den Verschlüsselungsalgorithmus an:
7za a sample.zip name.txt -p"your_password" -mem=AES256
Nach dem Login kopieren
  1. Extrahieren die ZIP-Datei mit Passwort:Verwenden Sie den folgenden Code, um die passwortgeschützte ZIP-Datei zu extrahieren:
<code class="go">import (
    "fmt"
    "os/exec"
)

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

In diesem Codeausschnitt:

  • zip_path ist der Pfad zur passwortgeschützten ZIP-Datei.
  • extract_path ist der Pfad zu dem Verzeichnis, in dem die extrahierten Dateien gespeichert werden.
  • zip_password ist das Passwort für die ZIP-Datei.
  1. Beispielprogramm:Verwenden Sie das folgende vollständige Beispielprogramm, um den Prozess zu demonstrieren:
<code class="go">// Shows how to extract an passsword encrypted zip file using 7zip.
// By Larry Battle <https://github.com/LarryBattle>
// Answer to http://stackoverflow.com/questions/20330210/golang-1-2-unzip-password-protected-zip-file
// 7-zip.chm - http://sevenzip.sourceforge.jp/chm/cmdline/switches/index.htm
// Effective Golang - http://golang.org/doc/effective_go.html
package main

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

// ...

func main() {
    // ...
    extractZipWithPassword()
    // ...
}</code>
Nach dem Login kopieren
  1. Führen Sie das Programm aus: Kompilieren Sie das Beispielprogramm und führen Sie es aus:
go run main.go
Nach dem Login kopieren

Das Programm extrahiert die passwortgeschützte ZIP-Datei in das angegebene Verzeichnis.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!