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_256, md5($chiave), $input, MCRYPT_MODE_CBC, md5(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_256, md5($chiave), base64_decode($input), MCRYPT_MODE_CBC, md5(md5($chiave))), "\0");
return $input;
}