Maison > développement back-end > Golang > Comment décompresser des fichiers ZIP protégés par mot de passe dans Go 1.2 à l'aide de 7zip ?

Comment décompresser des fichiers ZIP protégés par mot de passe dans Go 1.2 à l'aide de 7zip ?

Patricia Arquette
Libérer: 2024-11-04 03:12:02
original
1117 Les gens l'ont consulté

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

Décompression de fichiers ZIP protégés par mot de passe dans Go 1.2

Le package os/exec offre un moyen pratique d'interagir avec les commandes externes. Pour décompresser des fichiers ZIP cryptés à l'aide de 7zip dans Go 1.2, considérez ce qui suit :

Le package archive/zip fournit une fonctionnalité de base de manipulation ZIP. Au lieu de l'utiliser pour extraire des fichiers ZIP protégés par mot de passe, vous pouvez utiliser 7zip via os/exec.

Voici une 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>
Copier après la connexion

Exemple de programme avec 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>
Copier après la connexion

Sortie :

# 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.
Copier après la connexion

Cette approche vous permet de décompresser des fichiers ZIP protégés par mot de passe à l'aide de 7zip dans Go 1.2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal