PHP は暗号化と復号化に DES を使用します
DES は標準のデータ暗号化アルゴリズムです。このアルゴリズムの詳細については、Wiki と Baidu Encyclopedia (
) を参照してください。
wikipedia 百度百科
php には DES 暗号化アルゴリズムをサポートできる拡張機能があります。extension=php_mcrypt.dll
設定ファイルでこの拡張機能を有効にしても、Windows環境では使用できません
PHP フォルダー内の libmcrypt.dll をシステムの system32 ディレクトリにコピーする必要があります。このモジュールが正常に使用できるかどうかを phpinfo で確認できます。
以下は、PHP での DES 暗号化と復号化の使用例です。
//$input - 復号化するもの
//$key - 使用する秘密キー
function do_mencrypt($input, $key )
{
$input = str_replace( ""n","",$input);
$input = str_replace(""t", "", $input);
$input = str_replace( ""r","",$input);
$key = substr(md5($key), 0, 24);
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv) ;
$encrypted_data = mcrypt_generic($td, $input) ;
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim(chop(base64_encode($encrypted_data)));
}
//$input - 復号化するもの
//$key - 使用する秘密キー
関数 do_mdecrypt($input,$key)
{
$input = str_replace(""n", "", $input);
$input = str_replace( ""t","",$input);
$input = str_replace(""r", "", $input);
$input = trim( Chop(base64_decode($input)));
$td = mcrypt_module_open('3 倍'、 '、 ' ecb', '');
$key = substr( md5($key), 0, 24);
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td)、 MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$decrypted_data = mdecrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
返却 トリム(チョップ( $decrypted_data));
}