BlankTar

about | blog | works | photo

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とかいう汎用性の低そうなヘッダといい、微妙すぎてなんだか面白い機能でした。誰が使うんだろうこれ・・・。
< python3.3のyield fromとは何なのか ROT13エンコーディングも出来る。そう、vimならね? >