2012-05-08 4 views
1

TrueZIP을 사용하면 스트림에서 기존 ZIP 파일을 열고 수정할 수 있습니까? 물론 다른 스트림을 사용하여 출력 할 수 있습니까?스트림에서 TrueZIP 아카이브를 열 수 있습니까?

파일 시스템에서 기존의 실제 ZIP 파일로 작업하는 한 완벽하게 작동하는 ZIP을 수정하는 코드가 있지만 모든 임시 파일을 디스크에 저장하는 동안 암호화해야한다는 요구 사항이 있습니다. 우리 응용 프로그램의 대부분에서는 (CipherOutputStream 및 CipherInputStream을 사용하여) 쉽게 구현할 수 있지만 TrueZIP을 사용하여 기존 ZIP 파일을 업데이트하는 함수가 하나 있습니다. 이 부분은 파일이 암호화되어 있으면 분명히 실패합니다.

ZIP 파일은 암호화를 지원하지 않는 독점적 응용 프로그램에서 사용되므로 ZIP 사양의 일부인 암호화를 사용할 수 없습니다.

TrueZIP을 사용하는 이유는 Zip64 (Java 7에 포함되어 있지만 지금은 전환 할 수 없음)에 대한 지원이 필요하다는 것입니다.

답변

0

아니요, TrueZIP과 함께 사용하려면 액세스 가능한 파일 시스템에 보관 파일을 저장해야합니다. 하지만 다른 옵션이 있습니다.

  • TrueZIP는 임시 파일을 관리하기 위해 IOPoolService 인터페이스의 인스턴스를 사용합니다. 모든 임시 파일을 암호화하거나 힙 (작은 경우)에 저장하는 자체 구현을 제공 할 수 있습니다. 참조 구현을 보려면 TrueZIP 드라이버 FILE을 살펴보십시오.

  • ParanoidZipRaesDriver를 사용하여 RAES 암호화 ZIP 파일을 사용할 수 있습니다. 이 드라이버는 아카이브 파일을 쓰는 동시 스레드 수를 1로 제한하여 암호화되지 않은 임시 파일을 사용하지 않도록합니다.

  • WinZip AES 암호화를 사용하려면 FsOutputOption.ENCRYPT와 함께 표준 ZIP 드라이버를 사용할 수 있습니다. 암호화되지 않은 임시 파일이 사용되지 않도록하려면 ParanoidZipRaesDriver에서와 마찬가지로 ZipDriver.newOutputSocket 메서드를 재정의 할 수 있습니다.

+0

감사합니다. –

관련 문제