created: 2021-01-02T09:07:30.000Z

文字列をopensslで暗号化/復号するbashスクリプト

セキュリティ的にあんまり褒められたものではないが、 気持ち平文で保存したくないデータを手元に置いとくのとかには便利。

処理のコア部分はこんな感じになった。

read -sp "enter password: " password

function encrypt () {
    openssl aes-256-cbc -e \
        -in <(echo $body) \
        -pass pass:$password  \
        | base64
}

function decrypt () {
    openssl aes-256-cbc -d \
        -in <(echo $body | base64 -d) \
        -pass pass:$password
}
  • $body は暗号化したい文字列か、復号したいbase64
  • $password は read コマンドで取得する

readコマンド

read -sp "enter password: " password
  • -p プロンプトで入力した文字列を password 変数に入れてくれる
  • -s プロンプトで入力してる文字を表示しないように

参考

gist

単体テストの考え方/使い方
[ad] 単体テストの考え方/使い方
Vladimir Khorikov, 須田智之 (単行本(ソフトカバー))