Bagaimana untuk Nyahzip Fail ZIP yang Dilindungi Kata Laluan dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-10-31 16:32:01
asal
525 orang telah melayarinya

How to Unzip Password-Protected ZIP Files in Go?

Menyahzip Fail ZIP Dilindungi Kata Laluan dalam Go 1.2

Dalam Go 1.2, pakej arkib/zip menyediakan fungsi zip asas, tetapi tidak mempunyai sokongan untuk mengendalikan fail yang dilindungi kata laluan. Untuk menyahzip fail sedemikian, adalah disyorkan untuk menggunakan pakej os/exec bersama-sama dengan alatan luaran seperti 7zip.

Menggunakan 7zip untuk Mengekstrak Fail ZIP Dilindungi Kata Laluan

Contoh berikut menunjukkan cara mengekstrak fail ZIP yang dilindungi kata laluan menggunakan 7zip:

<code class="go">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>
Salin selepas log masuk

Dalam contoh ini, kami membina rentetan arahan menggunakan boleh laku 7za untuk mengekstrak fail ZIP. Kami menentukan laluan fail, direktori pengekstrakan, kata laluan dan pilihan tambahan untuk menulis ganti fail sedia ada dan mengemas kini cap masa arkib (-aoa). Kemudian, kami laksanakan arahan menggunakan fungsi exec.Command dan semak sebarang ralat.

Sumber Tambahan

  • [Tapak Web Rasmi 7-Zip](https ://www.7-zip.org/)
  • [Panduan Pengguna 7-Zip](https://wiki.7-zip.org/7-Zip_User_Guide)
  • [Pergi os/exec Package Documentation](https://golang.org/pkg/os/exec/)

Nota:

Walaupun pendekatan ini bergantung pada alat luaran, ia menyediakan penyelesaian yang mudah untuk mengendalikan fail ZIP yang dilindungi kata laluan dalam Go.

Atas ialah kandungan terperinci Bagaimana untuk Nyahzip Fail ZIP yang Dilindungi Kata Laluan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!