OpenSSL+パスワードでファイルの暗号化/復号処理
以下のコマンドを入れるとパスワードが求められるので、入力すると暗号化できる。
plain.txtは平文の入力ファイル、encrypted.txtは暗号化された出力ファイル。
openssl.exe aes-256-cbc -e -out encrypted.txt -in plain.txt
以下のコマンドを入れるとパスワードが求められるので、正しく入力すると復号できる。
encrypted.txtは暗号化された入力ファイル、plain.txtは平文の出力ファイル。
openssl.exe aes-256-cbc -e -out plain.txt -in encrypted.txt
試しに、
test
という文字列のファイルを暗号化してメモ帳で開いた所、
となった。
注意点
パスワードで暗号化されたファイルの復号処理を試みるのはオフライン攻撃と言われ、ファイル自体を入手してしまえば解読は比較的容易です。 十分な桁数、辞書にない文字列を用いる、大文字小文字記号などを用いれば多少はマシでしょう。 簡単にはファイルを持ち出せないような環境下などで、あくまで気休め程度に考えたほうが良いです。
余談:Windowsでopensslを使うには
以下のサイトでインストーラがダウンロードできるらしい。
Shining Light Productions: http://slproweb.com/products/Win32OpenSSL.html
が、別の方法を見つけた。
gitのサイトでPortable版が公開されており、この中にopensslが入っている。
git: https://git-scm.com/download/win
64bit版のバージョン2.11.0で、PortableGit\mingw64\bin\openssl.exeを確認。
他にもLinux系のコマンドが幾つか入っているので、便利そう。
ただし正式版かどうかはよく分からないので、ご利用は自己責任で。