首頁 >後端開發 >Golang >如何在 Golang 中解壓縮受密碼保護的 Zip 檔案?

如何在 Golang 中解壓縮受密碼保護的 Zip 檔案?

Linda Hamilton
Linda Hamilton原創
2024-10-31 01:48:29739瀏覽

How to Unzip Password-Protected Zip Files in Golang?

在 Golang 中解壓縮受密碼保護的 Zip 檔案

最近發布的 Golang 1.2 引入了 archive/zip 套件。然而,它似乎提供了基本的 zip 功能,並且缺乏對解壓縮受密碼保護的 zip 檔案的支援。為了解決這個問題,另一種方法是使用 7zip。

解決方案:透過Go 的os/exec 套件使用7zip

鑑於7zip 提供了強大的zip 功能,包括密碼-受保護的解壓縮,我們可以利用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 已安裝並可在您的系統上存取。
  • 將 zipPath 和 extractPath 變數分別調整為受密碼保護的 zip 檔案的實際位置和所需的擷取目錄。
  • 執行 Go 程式執行受密碼保護的 zip 擷取。

解決方案有效地利用了 7zip 久經考驗的 zip 功能,為 Golang 開發人員提供了一種處理受密碼保護的 zip 檔案的簡單方法。

以上是如何在 Golang 中解壓縮受密碼保護的 Zip 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn