-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* ショートオプションの説明を追加 * --output の説明を追加 * zip コマンドの絶対パス指定に関する注意点を追加
- Loading branch information
Showing
1 changed file
with
38 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,17 +14,24 @@ OpenSSL 版は [こちら](https://zenn.dev/noraworld/articles/file-encryption) | |
zip -r foo.zip foo | ||
|
||
# 暗号化 | ||
gpg --encrypt --recipient [email protected] foo.zip # バイナリデータ | ||
gpg --encrypt --recipient [email protected] --armor foo.zip # アスキーデータ | ||
gpg -e -r [email protected] -o /tmp foo.zip # バイナリデータ | ||
gpg -e -r [email protected] -o /tmp -a foo.zip # アスキーデータ | ||
|
||
# 復号 | ||
gpg foo.zip.gpg | ||
``` | ||
|
||
| ロングオプション | ショートオプション | 説明 | | ||
| --- | :---: | --- | | ||
| `--encrypt` | `-e` | ファイルを暗号化します | | ||
| `--recipient` | `-r` | 使用する秘密鍵を選択します | | ||
| `--armor` | `-a` | バイナリではなくアスキーデータで出力します | | ||
| `--output` | `-o` | 暗号化されたファイルの出力先を指定します | | ||
|
||
| | バイナリデータ | アスキーデータ | | ||
| :---: | --- | --- | | ||
| **利点** | ファイルサイズが元のファイルと変わらない | テキストエディタで開ける | | ||
| **欠点** | テキストエディタでは開けない | ファイルサイズが膨らむ | | ||
| **利点** | ファイルサイズが元のファイルと変わらない | テキストエディタで開ける、差分表示ができる | | ||
| **欠点** | テキストエディタでは開けない、差分表示ができない | ファイルサイズが膨らむ | | ||
| **拡張子** | `.gpg` | `.asc` | | ||
|
||
|
||
|
@@ -55,7 +62,11 @@ gpg foo.zip.gpg | |
zip -r foo.zip foo | ||
``` | ||
|
||
フォルダを圧縮する際は `-r` を付け忘れないように注意しましょう。付け忘れると空 ZIP ファイルになります。 | ||
## 注意点 | ||
* フォルダを圧縮する際は `-r` を付け忘れないように注意しましょう。付け忘れると空 ZIP ファイルになります。 | ||
* 絶対パスを指定して圧縮すると展開したときにそのようなディレクトリ構造になってしまいます。また、圧縮前のフォルダ名は維持されます。 | ||
|
||
OS のファイル管理アプリ(Mac なら Finder、Windows なら Explorer)のほうが間違いがなくて良いかもしれません……。 | ||
|
||
|
||
|
||
|
@@ -66,23 +77,41 @@ zip -r foo.zip foo | |
gpg --encrypt --recipient [email protected] foo.zip | ||
``` | ||
|
||
拡張子が `.gpg` のバイナリファイルが生成されるはずです。 | ||
暗号化には `--encrypt` または `-e` オプションつけます。`--recipient` または `-r` オプションで該当する秘密鍵に使用したメールアドレス (署名 ID) を指定する必要があります。このオプションを省略した場合は実行時にインタラクティブ形式で求められます。 | ||
|
||
実行すると拡張子が `.gpg` のバイナリファイルが生成されるはずです。 | ||
|
||
バイナリデータではなくアスキーデータ (テキストエディタで開ける形式) として保存したい場合は以下のように `--armor` オプションを付与します。 | ||
バイナリデータではなくアスキーデータ (テキストエディタで開ける形式) として保存したい場合は以下のように `--armor` または `-a` オプションを付与します。 | ||
|
||
```shell | ||
gpg --encrypt --recipient [email protected] --armor foo.zip | ||
``` | ||
|
||
拡張子が `.asc` のファイルが生成されます。このファイルはテキストエディタで開くことができます。ただしファイルサイズによっては開くと重くなりますのでご注意ください。 | ||
|
||
デフォルトでは、暗号化されたファイルの出力先は暗号化前のファイルと同じディレクトリです。出力先を変更する場合は `--output` または `-o` オプションを指定します。 | ||
|
||
```shell | ||
gpg --encrypt --recipient [email protected] --output /tmp foo.zip | ||
``` | ||
|
||
## よく使用するオプション一覧 | ||
上記で説明したよく使用するオプションの一覧を以下にまとめます。 | ||
|
||
| ロングオプション | ショートオプション | 説明 | | ||
| --- | :---: | --- | | ||
| `--encrypt` | `-e` | ファイルを暗号化します | | ||
| `--recipient` | `-r` | 使用する秘密鍵を選択します | | ||
| `--armor` | `-a` | バイナリではなくアスキーデータで出力します | | ||
| `--output` | `-o` | 暗号化されたファイルの出力先を指定します | | ||
|
||
## バイナリデータとアスキーデータの違い | ||
両者とも復号すれば全く同じファイルが復元できるため、基本的にはどちらでも良いと思います。主な違いは以下のとおりです。 | ||
|
||
| | バイナリデータ | アスキーデータ | | ||
| :---: | --- | --- | | ||
| **利点** | ファイルサイズが元のファイルと変わらない | テキストエディタで開ける | | ||
| **欠点** | テキストエディタでは開けない | ファイルサイズが膨らむ[^size] | | ||
| **利点** | ファイルサイズが元のファイルと変わらない | テキストエディタで開ける、差分表示ができる | | ||
| **欠点** | テキストエディタでは開けない、差分表示ができない | ファイルサイズが膨らむ[^size] | | ||
| **拡張子** | `.gpg` | `.asc` | | ||
|
||
[^size]: 筆者の環境で 1.37 GB の ZIP ファイルをこの方法で暗号化したところ 1.85 GB になりました。 | ||
|