이번 포스트는 캐쥬얼한 용도로 사용하기 좋은 ZIP 압축파일에 비밀번호를 설정하는 방법입니다. 비밀번호의 수준에 따라 충분히 해제가 가능한 방법이므로, ‘철통 보안’과 같은 보안을 생각하신다면 다른 방법을 이용하셔야 합니다.
* 포스트 하단에 ‘암호화’ 관련한 다른 방법에 대해 몇가지 언급해놓았으니, 필요하신 분들은 참조하시기 바랍니다.
터미널 활용하기
GUI에서 압축파일을 다룰 때는 Unarchiver이지만, 커맨드라인에 조금만 익숙해지면 터미널을 활용하는 것이 가장 편리합니다. 비밀번호 역시 터미널을 활용하여 설정하셔야 합니다.
1) 터미널 앱을 엽니다.
- Spotlight (cmd + space) > ‘terminal’ 검색
2) zip 커맨드를 사용하게 되는데, 용도(단일 혹은 복수 파일)에 맞는 커맨드를 골라 실행하시면 됩니다.
먼저, zip 커맨드는 아래 문법에 따라 동작합니다. 경우에 따라 각종 플래그(-로 이루어진 옵션 같은 기능)를 결합할 수 있습니다.
- -e : encrypt 압축시 암호 설정
- -r : recursive 디렉토리의 경우 내부의 모든 파일 압축
zip [결과.zip] [압축할 파일 혹은 디렉토리]
실제로 사용해보면,
- 단일 파일의 경우 -e 플래그만 사용하셔도 충분합니다. ▼
~/Test (267) $ zip -e output.zip example.txt Enter password: Verify password: adding: example.txt (stored 0%)
- 디렉토리를 압축하고자 하시면, -r 플래그도 같이 사용합니다. ▼
~/Test (275) $ zip -er output.zip dirExample Enter password: Verify password: adding: dirExample/ (stored 0%) adding: dirExample/3.txt (stored 0%) adding: dirExample/2.txt (stored 0%) adding: dirExample/1.txt (stored 0%)
- To 터미널을 사용해보지 않으신 분 : 아래 커맨드를 고정으로 사용하시면 데스크탑에 암호가 걸린 파일이 생기실 겁니다.
zip -er ~/Desktop/output.zip [압축할 파일]
굳이 경로 이동도 하실 필요 없이, 터미널 첫 화면에서 위 커맨드 복붙 > 압축하고자 하는 파일 혹은 디렉토리를 드래그 앤 드롭 해주시면 됩니다. ▼
데스크탑에 결과물 ▼
- 압축을 풀고자하시면, unzip 커맨드를 사용하시면 됩니다. ▼
$ unzip output.zip
압축과 관련된 지난 포스트들도 참조해보시기 바랍니다. 🙂 ▼
강력한 암호화가 필요하다면
openssl의 AES 256과 같이 강력한 암호화 커맨드를 터미널에서 사용하시면 됩니다(128만 해도 충분할 듯하지만). 모아서 보관할 용도라면 디스크 이미지를 만들어 암호화하는 것도 나쁘지 않습니다. 3rd-Party 앱으로 폴더나 파일에 암호를 걸 수 있는 방법도 있으니 링크 참조해보시기 바랍니다.
저도 암호화 방식 부분에서 기본적인 내용밖에 알지 못합니다. 따라서, 암호화 방식은 본인이 알고 계신만큼 사용하시면 될 듯합니다. 파란색으로 표시해두었으니, 바꿔서 사용하시면 됩니다.▼
- aes-128-cbc
- aes-128-ecb
- aes-192-cbc
- aes-192-ecb
- aes-256-cbc
- aes-256-ecb
-in 플래그 다음엔 암호화할 파일, -out 플래그 다음엔 결과물 파일
- 암호화 ▼
openssl aes-256-cbc -in input.txt -out output.enc
- 복호화 ▼
openssl aes-256-cbc -d -in output.enc -out extracted.txt
이상입니다.
참조
- http://en.wikipedia.org/wiki/Symmetric-key_algorithm
- http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation