LoginSignup
13
12

More than 5 years have passed since last update.

テキストをカジュアルに暗号化したい

Posted at

ちょっとした機密情報(変な日本語)を渡すときみなさんどうやってるんでしょうか。
いろいろなやり方や思想があると思いますが、一様に手間だなーって思ってました。

まあセキュリティと運用はトレードオフなので、しかたないような気もするんですが、
もっとカジュアルに機密情報やり取りしたいぜ!と思って下記の暗号化のコマンドを作ってみました。

インストール

$ brew install ngc224/txtmsk/txtmsk

brewで入れられます
カジュアルですね

使い方

$ txtmsk -p

上記のオプションでまずキーチェーンにパスワードを登録します
暗号化も復号化もこの設定したパスワードで行います
なのでもうパスワードを打ち込む手間がかかりません!とてもカジュアルですね
というわけで、今のところはMacOSXでしか使えません!

暗号化する

$ echo "aaaaaaaaaaaaaaaaaaaa" | txtmsk
GFKm0AD9g0yyUdCc6cq44sX+D6CAyWnqzoxa4jU0rZdC4ZOc

単に標準入力でテキストを渡すと暗号化してくれます

ただこれだとヒストリに残るのでこんな感じでつかうといいかも

$ cat database.yml | txtmsk > database.yml.msk

復号化する

$ echo "GFKm0AD9g0yyUdCc6cq44sX+D6CAyWnqzoxa4jU0rZdC4ZOc" | txtmsk -d
aaaaaaaaaaaaaaaaaaaa

-d オプションをつけると復号化されます


暗号化の方式はAESです
golangにはビルドインで入っていました

詰まったところはパイプで使うコマンドとして作っていて、

$ txtmsk

とかしたときに標準入力の入力待ちでブロックされるのでどうしたもんか悩んでたのですが、
下記パッケージを使ったら

if terminal.IsTerminal(0) {
    ...
}

とかやって取れました。
すげー便利

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12