復号化
PHP コード:---------------------------------------------- -- ----------------------------------
function make_seed() {
list($usec, $sec ) =explode (' ', microtime());
return(float) $sec +((float) $usec * 100000);
}
srand(make_seed());
/* 暗号化アルゴリズムを有効にする/ */
$td = mcrypt_module_open('twofish', '', 'ecb', '');
/* IV を作成し、キーの長さを検出*/
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
/* 鍵を生成 */
$key = substr(md5('極秘鍵'), 0, $ks);
/* 暗号化プログラムを初期化*/
mcrypt_generic_init ($td , $key, $iv);
/* 暗号化、$encrypted は暗号化されたデータを保存します*/
print $encrypted = mcrypt_generic($td, 'これは非常に重要なデータです');
/* 検出暗号化ハンドル*/
mcrypt_generic_deinit($td);
/* 復号化のための暗号化モジュールを初期化します*/
mcrypt_generic_init($td, $key, $iv);
/* 復号化*/
$decrypted = mdecrypt_generic( $td, $ encrypted);
/* 復号ハンドルを検出してモジュールを閉じる*/
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
/* 元の文字列を表示*/
echo trim($decrypted )."ん」;