============================================================================== msgcrypt.pl - 書き込み内容暗号化エンジン ============================================================================== 最終更新日:2003-01-14 14:05 ■概要 書き込み内容を指示されたセクションのみ暗号化・暗号解除を行うエンジンス クリプトである. ■各サブルーチンの仕様 ・メインルーチン この外部スクリプトが本体にインプリメントされた時点で実行するコ ードを記述する. 現在は以下のものが実行されている. ----------------------- ### 環境設定 $cryptkey = 'angou'; # (★) 書き込み暗号化用キー ----------------------- これは暗号を解除する際のキーになる. 忘れると暗号解除できないので注意. ----------------------- ### 暗号動作初期化 @cryptkey = split(//,$cryptkey); ----------------------- これは書き込みを暗号化する際の種を作成している. あらかじめ $cryptkey に暗号キーを入れておかなければならない. ・angoukey_check 暗号キーをチェックする. 暗号キーはあらかじめ $key_msgcrypt に格納しておかなければなら ない. 今考えるとタコな仕様である.;-P 暗号キーが一致しなければエラーメッセージを吐いて止まり,合致す ればそのまま素通りする. ・decode 書き込みの暗号を解除する. 暗号解除する前に暗号キーの合致チェックが入る. コレに失敗するとエラーを吐いて止まる. 合致すれば暗号を解除して平文の内容を出力する. 入出力変数は同じ変数を使用し,変数名は $enc_article である. ----------------------- 例) 暗号解除する. $key_msgcrypt = 'password'; # 暗号解除キーを格納 $enc_article = 'XXXXXX'; # 暗号化されている文字列を格納 &decode; # 暗号解除ルーチンへ飛ぶ print $enc_article; # 解除された文字列を表示する ----------------------- ・encode_article 書き込みを暗号化する. 管理者設定で暗号化機能が有効になっていない場合は素通りになる. 暗号化の際に使用する入出力変数は $encmsg を使う. 暗号化の際に使用される暗号キーはあらかじめ,$cryptkey を1文字 ずつ分解した変数 @cryptkey を用意しておかなければならない. これもタコな仕様だなー.(汗) ----------------------- 例) 暗号化する. ※ @cryptkey はあらかじめメインルーチンで生成されているものと する $encmsg = 'XXXXXX'; # 暗号化する文字列 &encode_article; # 暗号化ルーチンへ飛ぶ print $encmsg; # 暗号化された文字列を表示する. ----------------------- もし複数の変数を暗号化する場合は, $encmsg = $hensu1; &encode_article; $hensu1 = $encmsg; $encmsg = $hensu2; &encode_article; $hensu2 = $encmsg; (以下略) などとする. このほかにもサブルーチンはあるが,それを使った際の動作については保証し ない.