Mysql block_encryption_mode cbc вызывает ошибку при выборе, выборке

РЕДАКТИРОВАТЬ РЕШЕНО:

Я поставил block_encryption_mode = 'aes-256-cbc' внутри конфига mysql, теперь проблема, кажется, решена …

РЕДАКТИРОВАТЬ КОНЕЦ

У меня нет проблем с вставкой строк с SET block_encryption_mode = 'aes-256-cbc';
Но на SELECT я получаю странную ошибку вроде:

Uncaught PDOException: SQLSTATE [HY000]: общая ошибка в /var/www/vhosts/…/httpdocs/templates/sidebar.php:33 трассировки стека: # 0 /var/www/vhosts/…/httpdocs/templates /sidebar.php(33): PDOStatement-> fetch ()

Mysql версия: 5.7.23

Пример укороченного кода:

$securekey02 = sodium_hex2bin($securekey);
$userdata = $X['dbh']->prepare("SET block_encryption_mode = 'aes-256-cbc';
SELECT
AES_DECRYPT(l.lat, :key, l.latnonce) AS lat, AES_DECRYPT(l.lng, :key, l.lngnonce) AS lng
FROM
userdata u
LEFT JOIN
location l
ON u.id = l.id
WHERE
u.id = :id
LIMIT 1
");

$userdata -> execute(array(
':id'=> $_SESSION['qAsUserId3'],
':key'=>$securekey02
));

$userdata = $userdata -> fetch();

Я попытался выполнить этот запрос внутри phpmyadmin без проблем, получив правильные расшифрованные значения lat и lng.
Witouth SET block_encryption_mode = 'aes-256-cbc'; запрос и выборка работают хорошо и получают нормальный результат, только расшифрованный лат и lng дает мне NULL
Я также попытался использовать параметры без пароля, например: id,: key, такие же, как в phpmyadmin, но все равно то же сообщение об ошибке.
Я тоже пробовал SET @@session.block_encryption_mode = 'aes-256-cbc'; вместо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]