Unix pipeline的單次編輯工具:vipe

透過vim編輯加密檔時,需透過加解密程式(通常是gpg)解密密文並另存至暫存檔後再開啟vim編輯暫存檔。結束編輯後,再透過加解密程式重新加密密文。最重要的事,不要忘記刪除暫存檔。以免造成機敏資訊外洩。 可以透過moreutils中的vipe程式自動化以上步驟,省去手動操作的麻煩。

moreutils的安裝資訊

Debian

apt-get install moreutils

macOS(Homebrew)

brew install moreutils

操作範例

加解密程式rot13

使用的加解密程式為對稱加密的rot13
wikipedia:

ROT13(迴轉13位,英語:rotate by 13 places,有時也記為ROT-13)是一種簡易的替換式密碼。ROT13是一種在英文網路論壇用作隱藏八卦(spoiler)、妙句、謎題解答以及某些髒話的工具,目的是逃過版主或管理員的匆匆一瞥。

"hello world"經過rot13加密後的密文為:uryyb jbeyq

$> echo 'hello world'|rot13
uryyb jbeyq

順帶一提: 密文再餵給rot13可解密為明文
wikipedia:

ROT13是它自己本身的逆反;也就是說,要還原ROT13,套用加密同樣的演算法即可得

因此:

$> echo 'hello world'|rot13|rot13
hello world

使用vipe編輯rot13密文,並再透過rot13加密為密文

$> echo 'uryyb jbeyq'|rot13|vipe|rot13

執行以上指令時應會開啟vim: vipe開啟vim 編輯後寫檔並關閉vim(:wq): 編輯後,寫檔關閉vim 指令的pipeline會繼續運行並將vim儲存的內容透過stdin丟給vipe後方的rot13將明文再次加密為密文,得到結果:"zl jbeyq"

$> echo 'uryyb jbeyq'|rot13|vipe|rot13
zl jbeyq