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의 입증된 zip 기능을 효과적으로 활용하여 Golang 개발자가 비밀번호로 보호된 zip 파일을 처리할 수 있는 간단한 방법을 제공합니다.
위 내용은 Golang에서 비밀번호로 보호된 Zip 파일의 압축을 푸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!