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">&#x3C;?php echo $msgBase64 ?&#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!