У меня есть CMS с использованием шифрования openssl. Я использую его в течение длительного времени, и этот метод работает очень хорошо для меня.Call to undefined function openssl_encrypt
Проблема возникла во время создания первой страницы, используя сертификат SSL и соединение https.
методEncyption код:
$crypt = array(
'key' => 'zM6XJLg1wKWvvzhoWHM7',
'method' => 'AES-256-CBC',
'iv' => 'gantedos',
);
function eco_encrypt($string) {
global $crypt;
$output = false;
// hash
$key = hash('sha256', $crypt['key']);
$iv = substr(hash('sha256', $crypt['iv']), 0, 16);
$output = openssl_encrypt($string, $crypt['method'], $key, 0, $iv);
$output = base64_encode($output);
return $output;
}
function eco_decrypt($string) {
global $crypt;
$output = false;
$key = hash('sha256', $crypt['key']);
$iv = substr(hash('sha256', $crypt['iv']), 0, 16);
$output = openssl_decrypt(base64_decode($string), $crypt['method'], $key, 0, $iv);
return $output;
}
function eco_encrypt_md5($string) {
global $crypt;
$output = false;
$key = hash('sha256', $crypt['key']);
$iv = substr(hash('sha256', $crypt['iv']), 0, 16);
$output = openssl_encrypt($string, $crypt['method'], $key, 0, $iv);
$output = base64_encode($output);
return md5($output);
}
теперь, когда я подключить с помощью https: // я получил ошибку:
Fatal error: Call to undefined function openssl_encrypt() in ...
Я не знаю, как решить эту проблему, потому что я на самом деле хотите сохранить этот метод шифрования.
Возможно ли это? Пожалуйста, любые предложения, предложения или другие криптографические методы.
вы вызываете функцию под названием 'openssl_encrypt()', но такой функции нет. –
Я полагаю, вы не можете загрузить расширение openssl, пожалуйста, проверьте все свои расширения с помощью 'phpinfo()' –
да, но без https работает нормально. Это происходит только при использовании безопасного https-соединения. – Jarek