DES 暗号化アルゴリズムをサポートできる拡張機能が php にあります。それは、extension=php_mcrypt.dll です。
設定ファイルでこの拡張機能をオンにすると、Windows環境では使用できなくなります
PHP フォルダー内の libmcrypt.dll をシステムの system32 ディレクトリにコピーする必要があります。phpinfo を通じて mcrypt をチェックして、このモジュールが正常に試行できることを確認できます。
以下は、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 - 使用する秘密鍵
-
- function do_mdecrypt($input, $key)
- {
- $input = str_replace(""n", "", $input);
- $input = str_replace(""t", "", $input);
- $input = str_replace(""r", "", $ input) ;
- $input = トリム(chop(base64_decode($input)));
- $td = mcrypt_module_open('tripledes', '', '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);
- return trim(chop($decrypted_data));
-
- }
コードをコピー
|