Macでパスワード付きZIPファイルを作成!圧縮・解凍できない、開けない問題を解決!

今回はこのような質問をいただきました。

圧縮はできるけどパスワードを入れても解凍できない…しかもパスワードを設定しようとするとwarningが出る!
Finderで圧縮してからzipcloakコマンドでパスワードを設定してみたのですが、うまくできなかったのでまとめておきます。
圧縮はできるけどパスワードを入れても解凍できないんですよね。
macOSがCatalinaになったからかな…?
そこで今回はこちらの質問について解説していきます!
- macOS Catalina バージョン10.15(19A602)
Finderで圧縮→zipcloakだとうまくいかない
よく紹介されているのがzipcloakコマンドを使ったやり方。
Finderを使ってファイルを圧縮して、そのファイルに対してzipcloakコマンドを使ってパスワードを付与します。
こちらの方法でやってみると次のようなwarningが出てしまい、うまく解凍できませんでした。
XXXXXXはファイル名です。
encrypting: XXXXXX
zipcloak warning: Local Entry CRC does not match CD: XXXXXX
encrypting: __MACOSX/._XXXXXX
zipcloak warning: Local Entry CRC does not match CD: __MACOSX/._XXXXXX
他にもWinArchiver Liteを使う方法も紹介されているけどパスワードは数字4ケタしか設定できないっぽい。
ということで別の方法で圧縮することにしました。
解決:zipコマンドでファイルを圧縮する!
Finderで圧縮してからパスワードを付与する方法が一般的ですが、今回は圧縮するときにパスワードを付与します。
zipコマンドを使ってこんな感じに行います。
$ zip -e [圧縮後のファイル名] [圧縮するファイル名]
Enter password: 設定するパスワード
Verify password: パスワードを再入力
実際に使うとこんな感じ。
$ zip -e sample.zip sample.csv
zip -erとすることでディレクトリを圧縮することも可能です。
$ zip -er [圧縮後のファイル名] [圧縮するディレクトリ名]
Enter password: 設定するパスワード
Verify password: パスワードを再入力
使い方は同じです。
$ zip -er sample.zip sample
このように圧縮と同時にパスワードを設定することで正常に解凍できるようになりました。
念の為、別のPCでも解凍できるか確認したほうが良いと思います。
あとがき
macOS Catalinaでパスワード付きのZIPファイルを作成する方法を簡単にまとめてみました。
「Catalinaにしたらうまく圧縮できない…」という声をしばしば耳にするのでCatalinaが悪さしてそうですね。
うまく圧縮、解凍できない場合はこちらの方法も試してみると良いと思います。
Finderを使うとダメっぽいので、コマンドだけで作成したほうが良いと思います!