>백엔드 개발 >PHP 튜토리얼 >PHP와 JavaScript 사이에서 데이터를 안전하게 암호화하고 해독하는 방법은 무엇입니까?

PHP와 JavaScript 사이에서 데이터를 안전하게 암호화하고 해독하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-24 05:19:10510검색

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

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">&amp;#x3C;?php echo $msgBase64 ?&amp;#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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.