在PHP 和JavaScript 之間加密和解密資料
處理敏感資料時,實施加密機制以維護其機密性至關重要。在本文中,我們將探討如何在 PHP 中加密資料並使用 JavaScript 中的 CryptoJS 函式庫進行解密。
PHP 中的加密
PHP 提供了各種加密函數,包括 mcrypt_encrypt() 和 openssl_encrypt()。在我們的範例中,我們將使用 OpenSSL 的 openssl_encrypt() 函數來利用其對各種加密演算法的支援。
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; ?>
JavaScript中的解密
將以下內容替換為提供的範例::
<textarea class="encrypted-data" cols="80" rows="5">&#x3C;?php echo $msgBase64 ?&#x3E;</textarea>
CryptoJS 提供了一個方便的AES.decrypt() 函數來解密使用AES 演算法加密的資料。此函數需要密碼和加密密文。
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>
結論
透過實作透過上述技術,您可以透過在PHP 中加密資料並在JavaScript 中安全解密來有效地保護您的資料。請記住,保護資料需要考慮其他因素,例如金鑰管理、安全儲存和威脅建模。
以上是如何在 PHP 和 JavaScript 之間安全地加密和解密資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!