DES steht für Data Encryption Standard, einen Blockalgorithmus, der Schlüsselverschlüsselung verwendet. Er wurde 1977 vom National Bureau of Standards der US-Bundesregierung als Federal Information Processing Standard (FIPS) festgelegt und in Afrika zugelassen Der Algorithmus wurde in geheimen Regierungskommunikationen eingesetzt und verbreitete sich anschließend international. Es ist zu beachten, dass DES als Algorithmus in mancher Literatur als Datenverschlüsselungsalgorithmus (DEA) bezeichnet wird und sich von DES als Standard unterscheidet.
In diesem Artikel wird hauptsächlich die von PHP implementierte DES-Verschlüsselungs- und -Entschlüsselungsmethode vorgestellt und die zugehörigen Techniken der PHP-Implementierung der DES-Verschlüsselung und -Entschlüsselung in Form eines vollständigen Beispiels analysiert , die Details lauten wie folgt:
<?php $key = 'very important data'; function jiami($key, $str) { /* Open module, and create IV */ $td = mcrypt_module_open('des', '', 'ecb', ''); //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); //$td = mcrypt_module_open('des', '', 'cbc', ''); $key = substr($key, 0, mcrypt_enc_get_key_size($td)); $iv_size = mcrypt_enc_get_iv_size($td); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); /* Initialize encryption handle */ if (mcrypt_generic_init($td, $key, $iv) === -1) { return FALSE; } /* Encrypt data */ $c_t = mcrypt_generic($td, $str); /* Clean up */ mcrypt_generic_deinit($td); mcrypt_module_close($td); return $c_t; } function jiemi($key, $str) { /* Open module, and create IV */ $td = mcrypt_module_open('des', '', 'ecb', ''); //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); //$td = mcrypt_module_open('des', '', 'cbc', ''); $key = substr($key, 0, mcrypt_enc_get_key_size($td)); $iv_size = mcrypt_enc_get_iv_size($td); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); /* Initialize encryption handle */ if (mcrypt_generic_init($td, $key, $iv) === -1) { return FALSE; } /* Reinitialize buffers for decryption */ $p_t = mdecrypt_generic($td, $str); /* Clean up */ mcrypt_generic_deinit($td); mcrypt_module_close($td); return trim($p_t); } $str = 'hello world!'; echo 'key:' . $key . '<br>'; echo 'str:' . $str . '<br>'; $jiami = jiami($key, $str); echo '加密:' . $jiami . '<br>'; file_put_contents('jiamiqian.txt', $str); file_put_contents('jiamihou.txt', $jiami); $jiemi = jiemi($key, $jiami); echo '解密:' . $jiemi . '<br>';
Das obige ist der detaillierte Inhalt vonPHP des Verschlüsselungs- und Entschlüsselungscodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!