ホームページ  >  記事  >  バックエンド開発  >  PHP は暗号化と復号化に DES を使用します

PHP は暗号化と復号化に DES を使用します

WBOY
WBOYオリジナル
2016-06-13 13:05:11724ブラウズ

PHP は暗号化と復号化に DES を使用します

DES は標準のデータ暗号化アルゴリズムです。このアルゴリズムの詳細については、Wiki と Baidu Encyclopedia (

) を参照してください。

wikipedia 百度百科

php には DES 暗号化アルゴリズムをサポートできる拡張機能があります。extension=php_mcrypt.dll

設定ファイルでこの拡張機能を有効にしても、Windows環境では使用できません

PHP フォルダー内の libmcrypt.dll をシステムの system32 ディレクトリにコピーする必要があります。このモジュールが正常に使用できるかどうかを phpinfo で確認できます。

以下は、PHP での DES 暗号化と復号化の使用例です。


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));

}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。