MySQL Workbench расшифровывает данные, зашифрованные в php, используя AES-128-CTR

#php #mysql #encryption

#php #mysql #шифрование

Вопрос:

Я пытаюсь расшифровать данные, зашифрованные в PHP, используя AES-128-CTR в MySQL workbench, и мне не повезло. Все, что я получаю, равно null.

Любая помощь будет, как всегда, с благодарностью.

Попытка верстака: я попытался @@SESSION.block_encryption_mode = 'aes-128-ctr' , но получил сообщение об ошибке, что не удалось установить значение ‘aes-128-ctr’.

 SELECT desired_column, cast(AES_DECRYPT(desired_column, '1111111111111111') as CHAR) as result from table;
  

Код шифрования из php.

 public function encryption($string){ 
    // Store the cipher method 
    $ciphering = "AES-128-CTR"; 

    // Use OpenSSl Encryption method 
    $iv_length = openssl_cipher_iv_length($ciphering); 
    $options = 0; 

    // Non-NULL Initialization Vector for encryption 
    $encryption_iv = '1111111111111111'; 

    // Store the encryption key 
    $encryption_key = "somesecretkey"; 

    // Use openssl_encrypt() function to encrypt the data 
    return openssl_encrypt($string, $ciphering, $encryption_key, $options, $encryption_iv); 
}
  

Комментарии:

1. шифрование не везде одинаково, другие реализации препятствуют расшифровке, поэтому декодируйте только в той же среде, что и шифрование

2. Согласно dev.mysql.com/doc/refman/8.0/en/encryption-functions.html к сожалению , в mysql нет режима CTR, доступного.

3. @MichaelFehr Я нахожусь на стадии, когда о выборе другого шифрования не может быть и речи. Это еще не запущено. Есть идеи, что может быть совместимо между MySQL и php / OpenSSL?

4. PHP / openssl и MySQL поддерживают режим CBC

5. @MichaelFehr Тогда я рассмотрю AES-256-CBC. Спасибо!