この項も「PDELをPHP以外の言語で実装したい、という考えをお持ちの人」以外は読み飛ばして頂いても構いません。
もしPDELが、PHP以外の言語で実装されれば、マップファイル・レシピファイルの共有により「データを暗号化したまま、他システムとの連携処理も論理的に可能」となります。(もっとも内部文字コードがPHPのように柔軟に指定できないJava等は「暗号化時はUTF-16等で表現される文字列を、PHPのシステムで使用している内部文字コードに変換後、更にそのバイト列を対象にPDEL仕様に従って暗号化する」「復号時はUTF-16等で表現される文字列を、PHPのシステムで使用している内部文字コードに変換後、更にそのバイト列を対象にPDEL仕様に従って復号する」という機能が必要となります。)
これは「他システム側のプログラミング言語にハッシュ値算出機能が備わっていること」を前提にしていますが「ハッシュ値算出機能が備わっていないプログラミング言語」も存在します。このような場合、レシピファイルにChangeAuthModeコマンドという特殊なコマンドを用いると、対処できます。
データの流れ | 自システムにおける処理イメージ例 |
---|---|
自システム ↓ 他システム |
ハッシュ値付きで暗号化されたデータを復号 ↓ 復号されたデータをChangeAuthModeを用いてハッシュ値なしで暗号化 ↓ 他システムへハッシュ値なしの暗号化データ送信 |
他システム ↓ 自システム |
他システムからハッシュ値なしの暗号化データ受信 ↓ ChangeAuthModeを用いてハッシュ値なしで復号 ↓ 復号されたデータをハッシュ値付きで暗号化し、自システムのDBに登録 |