我有这个功能:
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
$key256 = 'b4:18:d1:ed:228d';
$iv = 'b4:18:d1:ed:228d';
$plainText = "blabla";
mcrypt_generic_init($cipher, $key256, $iv);
$cipherText256 = mcrypt_generic($cipher,$plainText );
$cipherHexText256 =bin2hex($cipherText256);
echo $cipherHexText256;
我得到了结果:
b752e34496e86853569370b8323eb601
有人可以帮助我并给我一个功能,将结果再次解密到明文吗?
亲切的问候
答案 0 :(得分:0)
<?php
/* Open the cipher */
$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
/* Create the IV and determine the keysize length, use MCRYPT_RAND
* on Windows instead */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($td);
/* Create key */
$key = substr(md5('very secret key'), 0, $ks);
/* Intialize encryption */
mcrypt_generic_init($td, $key, $iv);
/* Encrypt data */
$encrypted = mcrypt_generic($td, 'This is very important data');
/* Terminate encryption handler */
mcrypt_generic_deinit($td);
/* Initialize encryption module for decryption */
mcrypt_generic_init($td, $key, $iv);
/* Decrypt encrypted string */
$decrypted = mdecrypt_generic($td, $encrypted);
/* Terminate decryption handle and close module */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
/* Show string */
echo trim($decrypted) . "\n";
?>