파일 이름을 암호화하여 디렉토리를 압축하는 방법은 무엇입니까? Directory.zip /path/to/directory 그러나

명령 줄을 사용하여 다음 명령으로 디렉토리를 암호화 할 수 있음을 알고 있습니다.

zip -er Directory.zip /path/to/directory

그러나 이것은 파일 이름 자체를 암호화하지는 않습니다. 누군가가 달린 경우 :

unzip Directory.zip

잘못된 비밀번호를 반복해서 입력하면 unzip 명령은 올바른 비밀번호를 입력 할 때까지 포함 된 모든 파일 이름을 반복합니다. 샘플 출력 :

unzip Directory.zip
Archive:  Directory.zip
   creating: Directory/
[Directory.zip] Directory/sensitive-file-name-1 password:
password incorrect--reenter:
password incorrect--reenter:
   skipping: Directory/sensitive-file-name-1  incorrect password
[Directory.zip] Directory/sensitive-file-name-2 password:
password incorrect--reenter:
password incorrect--reenter:
   skipping: Directory/sensitive-file-name-2  incorrect password
[Directory.zip] Directory/sensitive-file-name-3 password:
password incorrect--reenter:
password incorrect--reenter:
   skipping: Directory/sensitive-file-name-3  incorrect password

등등.

명령 줄을 사용하면 파일 이름 자체를 암호화하거나 숨기면서 암호화로 디렉토리를 압축하는 방법이 있습니까?

감사합니다.



답변

zip 파일에서는 파일 내용 만 암호화됩니다. 파일 이름을 포함한 파일 메타 데이터는 암호화되지 않습니다. 파일 형식의 제한 사항입니다. 각 항목은 개별적으로 압축되며 암호화 된 경우 별도로 암호화됩니다.

대신 7-zip을 사용할 수 있습니다 . 메타 데이터 암호화 ( -mhe=onLinux 명령 행 구현 사용)를 지원합니다.

7z a -p -mhe=on Directory.7z /path/to/directory

모든 주요 운영 체제와 대부분의 사소한 운영 체제에 대해 7zip 구현이 있지만 추가 소프트웨어를 설치해야 할 수도 있습니다 (IIRC Windows는 암호화 된 zip 파일의 압축을 풀 수 있습니다). 암호 해독에 7z가 필요한 경우 먼저 zip을 사용하여 디렉토리를 단일 파일로 압축 한 다음 해당 파일을 암호화하여 zip을 사용할 수 있습니다. 그렇게하면 개별 파일의 압축을 끄고 외부 zip에 zip 파일을 압축하도록 지시하면 전체적으로 더 나은 압축률을 얻을 수 있습니다.

zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip


답변

자주 사용하는 도구를 사용하여 아카이브를 만든 다음 bcrypt암호화 / 암호 해독을 수행 하는 데 사용할 수 있습니다.

A) 암호화 된 파일을 만들려면

tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz

이것은 당신에게 복어 암호화 파일을 줄 것입니다 Directory.tgz

B) 이 과정을 반대로하려면 :

bcrypt Directory.tgz.bfe
tar -xf Directory.tgz


답변