У меня проблема при расшифровке в PHP на веб-сервере, сбой при попытке расшифровать мойШифрование, которое хранится в базе данных, вывод расшифровки показывают в виде символа:8 ± 8 ¼ «¿> 2> ~ ë  ¥ à ™ nÃ?
вот код, который я использовал для расшифровки: шифрование / дешифрование
<?php
class MCrypt
{
private $iv = 'fedcba9876543210';
private $key = '0123456789abcdef';
function_construct()
{
}
function decrypt($code)
{
//$key = $this->hex2bin($key);
$code = $this->hex2bin($code);
$iv = $this->iv;
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
mcrypt_generic_init($td, $this->key, $iv);
$decrypted = mdecrypt_generic($td, $code);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return utf8_encode(trim($decrypted));
}
protected function hex2bin($hexdata)
{
$bindata = '';
for ($i = 0; $i < strlen($hexdata); $i += 2)
{
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
}
?>
и вот код, который я использовал для получения зашифрованных данных из базы данных:
include ("decrypt.php");
$sql = "SELECT * FROM Save_data";
$mcrypt = new MCrypt();
#Decrypt
$decrypted1 = $mcrypt->decrypt($exif_datetime);
echo $decrypted1;