パッケージLockBox3をインストールして使ってみる
まずLockBox3をインストールする。IDEを起動してGetItからインスト-ルするのだが、IDEのトップメニューのツール->GetItパッケージマネージャーから、

あるいは、welcome画面の右上のほうの、

一番右をクリックしてもおけ。いずれの場合も、検索窓に“lockbox3”等と入れ、下図となる。

上の方を選択してインストール。ツールパレットの一番下の方に、

と“LockBox Vcl”が現れれば、準備おけ。
まずフォームを作ります。上記パレットからTCodecとTCryptographicLibraryをフォームにドロップ。他に、LabeledEditx4とButtonx2をドロップ。LabeledEditのLabelは、“平文”,”鍵“、”暗号文”、”復号文”などとして、ボタンのNameは、“Encrypt”と“Decrypt”等でおけ。ここまでで、

インスタンスのCodec1は、

このようにしてみてくださいね。Encryptボタンをダブルクリックして、
void __fastcall TForm1::EncryptClick(TObject *Sender)
{
UnicodeString results;
Codec1->Password = LabeledEdit2->Text;
Codec1->EncryptAnsiString(LabeledEdit1->Text,results);
LabeledEdit3->Text = results;
}Decryptボタンをダブルクリックして、
void __fastcall TForm1::DecryptClick(TObject *Sender)
{
UnicodeString results;
Codec1->DecryptAnsiString(results,LabeledEdit3->Text);
LabeledEdit4->Text = results;
}
F9押して、実行させてみましょうか。平文に適当に日本語文字列を入れます。空白を含んでいても大丈夫。鍵にはキーフレーズを入れて、Encrypt押すと、暗号文が生成されます。この状態でDecrypt押すと、復号された文が出てきます。これはもちろん最初の平文に一致しています。

Encryptの後、暗号文を改変してからDecryptすると、

例外が出ました。ま、そうなりますよね。今回は、暗号化のアルゴリズムとしては“BlowFish”をECB(with block padding)モードで使いました。このあたりは、
が分かりやすいかもしれません。


コメント