PDELの特徴は次の6点です。
1点目は、他のライブラリに依存しないことです。(他のライブラリを使用しないPHP標準関数のみで実装しています。もっとも、このことは処理時間が速くないことを意味します。デモでは処理時間の確認も行えるので、よろしければご確認ください。また、皆様の環境でもPDELの処理時間を確認できるよう、一部例外を除き、当サイト一式はダウンロードしたzipファイル内に含まれています。よろしければ皆様の環境に当サイトのコピー環境を構築し、PDELの処理時間をご確認ください。)
2点目は、強度でバラエティに富んだ暗号化方法をテキストファイルで複数定義できることです。(暗号化の結果が「常に可変値となる可変暗号化」「常に固定値となる固定暗号化」「暗号化前の情報のバイト数に影響されない固定長暗号化」が選択できます。汎用的なプログラムは「プログラム本体から物理的に独立したYAMLやXML等の外部ファイル」で動作を決定することがよくありますが、そのイメージです。PDELの暗号化方法はレシピと呼ぶテキストファイルで定義します。氏名用のレシピ、メールアドレス用のレシピ、電話番号用のレシピ、住所用のレシピ、クレジットカード番号用のレシピ、等のように定義できます。)
3点目は、標準オプション機能として、データマスキング機能を備えていることです。(「常にマスキングを行う」「システム利用者の権限レベルに応じたデータマスキングを行う」ことが行えます。権限レベルに応じたデータマスキングとは「顧客のメールアドレスは、中級以上のスタッフには復号した実データを表示するが、中級未満のスタッフには MAD と表示する」といったデータマスキングのことです。)
4点目は、標準オプション機能として、有効期限付き暗号化が行えることです。「相対日時型(暗号化した時刻から48時間以内は復号できるが、それを超えると復号できない等)」「絶対日時型(来月5日までは復号できるが、それを超えると復号できない等)」の暗号化が可能です。
5点目は、標準オプション機能として、セッション・ハイジャック・チェック付き暗号化が行えることです。
6点目は、復号の失敗を認識できることです。
「復号可能な暗号化」というテーマに関心をお持ちの人は「データマスキング、有効期限付き暗号化、セッション・ハイジャック対策」等にも関心を持っておられる割合が高いのではないでしょうか。PDELは、これらを標準オプション機能として備えることにより、他のライブラリとの差別化を図りました。
※PDELはE_STRICT準拠です。