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);
と修正したら、無事にメールアドレスが取得できるようになりました。
0件のコメント