Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyulitkan dan Menyahsulit Data dengan Selamat Antara PHP dan JavaScript?

Bagaimana untuk Menyulitkan dan Menyahsulit Data dengan Selamat Antara PHP dan JavaScript?

DDD
DDDasal
2024-11-24 05:19:10430semak imbas

How to Securely Encrypt and Decrypt Data Between PHP and JavaScript?

Sulitkan dan Nyahsulit Data antara PHP dan JavaScript

Apabila bekerja dengan data sensitif, adalah penting untuk melaksanakan mekanisme penyulitan untuk mengekalkan kerahsiaannya. Dalam artikel ini, kami akan meneroka cara menyulitkan data dalam PHP dan menyahsulitnya menggunakan perpustakaan CryptoJS dalam JavaScript.

Penyulitan dalam PHP

PHP menyediakan pelbagai fungsi penyulitan , termasuk mcrypt_encrypt() dan openssl_encrypt(). Dalam kes kami, kami akan menggunakan fungsi openssl_encrypt() OpenSSL untuk memanfaatkan sokongannya untuk pelbagai algoritma penyulitan.

Contoh Penyulitan PHP:

<?php
$text = "Data to encrypt";
$key = "Encryption key";

$msgEncrypted = openssl_encrypt($text, 'aes-256-cbc', $key, true, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND));
$msgBase64 = trim(base64_encode($msgEncrypted));

echo "<h2>PHP</h2>";
echo "<p>Encrypted:</p>";
echo $msgEncrypted;
echo "<p>Base64:</p>";
echo $msgBase64;
?>

Penyahsulitan dalam JavaScript

Ganti yang berikut dalam yang disediakan contoh::

<textarea class="encrypted-data" cols="80" rows="5">&amp;#x3C;?php echo $msgBase64 ?&amp;#x3E;</textarea>

CryptoJS menyediakan fungsi AES.decrypt() yang mudah untuk menyahsulit data yang disulitkan menggunakan algoritma AES. Fungsi ini memerlukan frasa laluan dan teks sifir yang disulitkan.

Contoh Penyahsulitan JavaScript:

<script> 
    var encryptedData = document.querySelector(".encrypted-data").value;
    var key = 'Encryption key';
    const decrypted = CryptoJS.AES.decrypt(encryptedData, key);
    console.log(decrypted.toString(CryptoJS.enc.Utf8));
</script>

Kesimpulan

Dengan melaksanakan teknik di atas, anda boleh melindungi data anda dengan berkesan dengan menyulitkannya dalam PHP dan menyahsulitnya dengan selamat dalam JavaScript. Perlu diingat bahawa melindungi data memerlukan mempertimbangkan faktor tambahan seperti pengurusan kunci, storan selamat dan pemodelan ancaman.

Atas ialah kandungan terperinci Bagaimana untuk Menyulitkan dan Menyahsulit Data dengan Selamat Antara PHP dan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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