DBのダンプデータを別サーバに転送したり、テープなどの他メディアに書き出す場合にファイルの暗号化をしたかったので調べたらopensslコマンドでできるみたい。
暗号化する対象のファイルを作成 $ vi hoge.txt aaaaaaaa ggggggggggg 暗号化するパスワードの文字列をpasswd.txtファイルに記載 $ vi passwd.txt hogehoge 暗号化 $ openssl enc -e -aes256 -in hoge.txt -out hoge.txt.cipher -pass file:./passwd.txt 暗号化ファイルの中身を確認 $ cat hoge.txt.cipher Salted__r??????????H}?????? Y??]????f??????f????????lm}A?????? 復号処理 $ openssl enc -d -aes256 -in hoge.txt.cipher -out hoge.txt.plain -pass file:./passwd.txt 復号した内容を確認 $ cat hoge.txt.plain aaaaaaaa ggggggggggg
encオプションは必ずつけます。
暗号化は-eオプション、復号は-dオプションをつけます。
オプション-aes256は暗号化方式です。利用する暗号方式は下記コマンドで確認できます。
openssl cipher
オプション-passをつけないと標準入力でパスワードを聞いてきます。バッチで暗号化処理をする場合は暗号化文字列を-passで指定するのですが、今回はファイルの中にパスワードを記述し、それを利用するようにしました。
参考
http://blog.livedoor.jp/imsut/archives/50159135.html
http://oshiete1.goo.ne.jp/qa1085292.html