Rumah > pembangunan bahagian belakang > tutorial php > Bolehkah saya Berhijrah dari Mcrypt ke Penyulitan OpenSSL Sambil Mengekalkan Keserasian Penyahsulitan?

Bolehkah saya Berhijrah dari Mcrypt ke Penyulitan OpenSSL Sambil Mengekalkan Keserasian Penyahsulitan?

Mary-Kate Olsen
Lepaskan: 2024-12-30 19:12:13
asal
690 orang telah melayarinya

Can I Migrate from Mcrypt to OpenSSL Encryption While Maintaining Decryption Compatibility?

Menaik taraf pustaka penyulitan saya daripada Mcrypt kepada OpenSSL

Soalan:

Adakah mungkin untuk tingkatkan pustaka penyulitan saya daripada Mcrypt kepada OpenSSL dan mengekalkan keupayaan untuk menyahsulit data yang disulitkan menggunakan Mcrypt?

Maklumat Bercanggah:

Nampaknya terdapat maklumat yang bercanggah dalam talian mengenai keserasian antara kedua-dua perpustakaan ini.

  • Satu sumber mendakwa bahawa menyahsulit data yang disulitkan Mcrypt dengan OpenSSL adalah mustahil.
  • Sumber lain mencadangkan bahawa ia adalah mungkin menggunakan pelapik.

Konteks Tambahan:

Saya cuba menukar kelas penyulitan yang sedang menggunakan Mcrypt kepada kelas yang menggunakan OpenSSL. Walau bagaimanapun, saya menghadapi kesukaran dalam menyahsulit data yang disulitkan dengan versi Mcrypt.

Kod Kerja untuk Penyahsulitan:

Kod yang disemak berikut untuk rutin penyahsulitan dalam versi OpenSSL telah disahkan berfungsi:

public function decrypt($data, $key) {
    $salt = substr($data, 0, 128);
    $enc = substr($data, 128, -64);
    $mac = substr($data, -64);

    list ($cipherKey, $macKey, $iv) = $this->getKeys($salt, $key);

    if ($mac !== hash_hmac('sha512', $enc, $macKey, true)) {
        return false;
    }

    $dec = openssl_decrypt($enc, $this->cipher, $cipherKey, OPENSSL_RAW_DATA, $iv);

    return $dec;
}
Salin selepas log masuk

Ujian Keputusan:

Menguji kod yang disemak ini dengan pelbagai data dan kunci tidak menghasilkan kegagalan.

Kesimpulan:

Adalah mungkin untuk meningkatkan pustaka penyulitan daripada Mcrypt ke OpenSSL dan berjaya menyahsulit data yang disulitkan dengan pustaka sebelumnya, dengan syarat anda menggunakan penyahsulitan yang dikemas kini rutin.

Atas ialah kandungan terperinci Bolehkah saya Berhijrah dari Mcrypt ke Penyulitan OpenSSL Sambil Mengekalkan Keserasian Penyahsulitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan