Selam yoldaşlar, uzun zamandır disket.net'i takip ediyorum ama ilk kez konu açıyorum. Umarım doğru yere yazmışımdır. Şimdi sorunuma geçeyim:
Elimde 2010'dan beri çalışan bir PHP 5.3 tabanlı eski bir web uygulaması var. Kullanıcı verilerini AES-256-CBC ile mcrypt kullanarak şifreliyorum. Kod şu şekilde:
```php
$key = 'buBenimGizliAnahtarim123';
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
// sonra base64_encode ile saklıyorum
```
Şimdi sunucuyu PHP 7.4'e yükseltmem gerekiyor ve mcrypt kaldırıldı. OpenSSL'e geçmem lazım ama elimdeki mevcut şifrelenmiş verileri de çözmem gerekiyor. Yeni kodda openssl_encrypt kullanacağım ama eski verileri nasıl çözeceğim? mcrypt'in padding yöntemi ile OpenSSL'in padding yöntemi farklı mı? Denedim ama eski verileri çözemedim, hep bozuk karakterler geliyor. Bu konuda deneyimi olan var mı? Şimdiden teşekkürler.
Elimde 2010'dan beri çalışan bir PHP 5.3 tabanlı eski bir web uygulaması var. Kullanıcı verilerini AES-256-CBC ile mcrypt kullanarak şifreliyorum. Kod şu şekilde:
```php
$key = 'buBenimGizliAnahtarim123';
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
// sonra base64_encode ile saklıyorum
```
Şimdi sunucuyu PHP 7.4'e yükseltmem gerekiyor ve mcrypt kaldırıldı. OpenSSL'e geçmem lazım ama elimdeki mevcut şifrelenmiş verileri de çözmem gerekiyor. Yeni kodda openssl_encrypt kullanacağım ama eski verileri nasıl çözeceğim? mcrypt'in padding yöntemi ile OpenSSL'in padding yöntemi farklı mı? Denedim ama eski verileri çözemedim, hep bozuk karakterler geliyor. Bu konuda deneyimi olan var mı? Şimdiden teşekkürler.