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

DDD
Lepaskan: 2024-11-24 05:19:10
asal
456 orang telah melayarinya

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;
?>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan