Ciao a tutti,

ho deciso di migrare un sito PHP dalla versione 5.6 alla versione 7.2
Funziona tutto a parte il sistema che utilizzavo per cryptare e decryptare informazioni registrate nel DB.
Sono deprecated mcrypt_decrypt e mcrypt_encrypt , adesso bisogna usare openssl_decrypt e openssl_encrypt.

Vorrei evitare di dover riscrivere i due metodi completamente per non dover analizzare le 100 e passa tabelle del db, identificando tutte le colonne cryptate, decriptarle con il vecchio metodo e recryptarle con il nuovo.

Si possono riuscire ad adattare questi metodi utilizzando openssl_decrypt e openssl_encrypt senza mettere mano al DB?

Grazie,
Roberto

Codice PHP:
 protected function encrypt($input$chiave FALSE) {
      if (
$input == "") {
      return 
$input;
      }
      if (!
$chiave) {
      
$chiave $this->chiave;
      }
      
$output base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256md5($chiave), $inputMCRYPT_MODE_CBCmd5(md5($chiave))));
      return 
$input;
      } 
Codice PHP:


    
protected function decrypt($input$chiave FALSE) {
      if (
$input == "") {
      return 
$input;
      }
      if (!
$chiave) {
      
$chiave $this->chiave;
      }
       
$output rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256md5($chiave),  base64_decode($input), MCRYPT_MODE_CBCmd5(md5($chiave))), "\0");
      return 
$input;
      }