2009年01月21日

OpenPNEのデータベースからメールアドレスを取り出す

OpenPNEのデータベースに保存されている会員情報は暗号化されているために、そのままでは表示することができません。

ググってみたら以下のようなページを見つけました。

Blue Eyes Blue: 可逆暗号方式;Crypt_Blowfishでエンコード、デコード

OpenPNE MySQLデータ 容量が・・・・すごく・・・|WEB系技術電脳日記

<?
define('ENCRYPT_KEY', 'キーワード'); // OpenPNE/config.phpに指定した値
$path="OpenPNE/lib/includeへのパス";
set_include_path(get_include_path() . PATH_SEPARATOR . $path); //ライブラリパスを追加
include_once 'Crypt/Blowfish.php';
$blowfish = new Crypt_Blowfish(ENCRYPT_KEY);
$bindata = '復号化するデータ'; // DBからselectした結果など
$decoded = base64_decode($bindata); // バイナリに戻す
$decrypted = $blowfish->decrypt($decoded);
echo $decrypted;
?>


早速、掲載されているソースをコピーしてアップロードして実行してみたら、なんだか文字化けしたデータが返ってきました。

OpenPNEのソースを少し見てみたら、自分のサイトでは古い暗号化を使っている設定になっていました。

そこで、
include_once 'Crypt/BlowfishOld.php';
$blowfish = new Crypt_BlowfishOld(ENCRYPT_KEY);
と修正したら、無事にメールアドレスが取得できるようになりました。


posted by はるこち at 10:50| Comment(0) | TrackBack(0) | サーバ関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。