配列データを暗号化する方法

配列データを暗号化して保存しておき、必要時には取り出して配列データにする方法を探していた。
暗号化関数は色々と見つかって試してみると、文字列を暗号化する、複合化して文字列にするなど文字列の暗号化機能であった。配列データを暗号化・複合化する機能はなかったので、配列データを文字列に変換して、その後暗号化することにした。複合する場合も文字列に一度複合して、文字列を配列データに変換することにした。このやり方を忘れないように次のとおりメモしておく。

<?php
require_once 'Crypt/Blowfish.php';
// 暗号化キー
$key = 'hoge';

//暗号化するデータ
$data = array('name'=>'小泉純一郎','id'=>-1,'order'=>60); 

//配列を文字列に変換
$st = serialize($data);

// 暗号化処理
$blowfish = new Crypt_Blowfish($key);
$enc = $blowfish->encrypt($st);

//復号化
$dec = $blowfish->decrypt($enc);
$ndec = trim($dec);  //前後のスペースを消す

//複合された文字列を配列に変換
$unst = unserialize($ndec);
echo '<PRE>';
print_r($unst);
echo '<PRE>';
?>

これを実行すると次の結果になった。
Array
(
    [name] => 小泉純一郎
    [id] => -1
    [order] => 60
)