暗号化だって出来る。そう、vimならね?

vimは凄い。無駄な機能が沢山ある。 なんとファイルの暗号化もできるそうです。

cryptmethodもしくはcmというオプションで暗号化形式を指定します。

:set cryptmethod=blowfish

こんな感じ。 指定できるのはzipblowfish

zipは普通にzip。弱い。

blowfishはAES暗号にトライアルで敗れたtwofish暗号の前身という、なんとも微妙な立ち位置の子です。 せめてtwofishにすればよかったのに・・・。

暗号化形式を指定したら、

:X

としてパスワードを指定します。パスワードはプロンプトで聞かれるので、適当に決めてください。 パスワードを決めたら、もう一度保存しなおします。保存しないと暗号化されないので注意。

試しに「hello, world!」とだけ書いたファイルをパスワード「test」で保存してみました。 xxdで見てみたらこんな感じになった。

0000000: 5669 6d43 7279 7074 7e30 3221 240c bffb  VimCrypt~02!$...
0000010: 6be2 e7cc d3dc d0bf 8334 3bba 8b7d 2f99  k........4;..}/.
0000020: 024b 880b 8c6a 2f91 4c6d                 .K...j/.Lm

VimCryptとかいうヘッダが付いて、その後に暗号化形式が書いてあるみたい。 割とシンプルなファイルですね。 きちんとスワップファイルも暗号化される、っぽい?

暗号化されたファイルをvimで開こうとするとパスワードを聞かれるので、答えます。答えると普通に編集できます。 パスワードを間違えると文字化けします。 文字化けした状態で:e!とかやってもパスワードを聞いてくれないので、

:set key=

とやってから:e!しましょう。

blowfishという微妙なチョイスといいVimCryptとかいう汎用性の低そうなヘッダといい、微妙すぎてなんだか面白い機能でした。 誰が使うんだろうこれ・・・。