현재 위치: > 최신 기사 목록> JavaScript와 PHP 간의 보안 암호화 된 통신을 구현하는 방법

JavaScript와 PHP 간의 보안 암호화 된 통신을 구현하는 방법

gitbox 2025-07-27

소개

JavaScript와 PHP는 웹 개발에서 일반적으로 사용되는 두 가지 프로그래밍 언어입니다. 일부 응용 프로그램에서, 특히 민감한 데이터가 관련 될 때 데이터 전송 중 보안을 보장하는 것이 특히 중요해집니다. 이 기사는 JavaScript와 PHP를 통해 AES 대칭 암호화 알고리즘 사이의 안전한 암호화 된 통신을 달성하는 방법을 보여줍니다.

암호화 된 의사 소통 원칙

암호화 된 통신의 기본 원칙은 암호화 알고리즘을 통해 데이터를 암호화하여 전송 중에 제 3자가 데이터를 도난 당하거나 변조하지 않도록하는 것입니다. 이 기사에서는 대칭 암호화 알고리즘 AE (고급 암호화 표준), 즉 데이터 암호화 및 암호 해독이 동일한 키와 함께 사용됩니다.

이 프로세스에서 JavaScript는 임의 키를 생성하여 PHP 서버로 전송하는 책임이 있습니다. PHP 측은이 키를 사용하여 데이터를 암호화하여 JavaScript로 다시 전송합니다. 마지막으로 JavaScript는 동일한 키를 사용하여 데이터를 해독하고 원래 데이터를 복원합니다.

암호화 된 통신을 구현하는 단계

키를 생성하십시오

먼저 JavaScript의 Cryptojs 라이브러리를 사용하여 암호화 및 암호 해독 작업에 대한 임의의 키를 생성하십시오. 16 바이트 랜덤 키는 다음 코드로 생성 할 수 있습니다.

 var key = CryptoJS.lib.WordArray.random(16);

이 코드는 cryptojs 라이브러리를 통해 임의의 16 바이트 키를 생성합니다. 키 길이는 필요에 따라 조정할 수 있습니다.

키를 PHP로 보내십시오

키를 생성 한 후에는 안전한 방식으로 PHP 서버로 보내야합니다. 키는 AJAX 요청을 통해 처리하기 위해 PHP 파일로 전송 될 수 있습니다.

 var xhr = new XMLHttpRequest();
xhr.open("POST", "send_key.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log("Key sent successfully to PHP");
  }
};
xhr.send("key=" + key);

위의 코드는 사후 요청에서 키를 PHP로 보내며 키를 수신 한 후 데이터를 암호화하는 데 사용됩니다.

암호화 된 데이터

JavaScript에서 데이터는 AES 알고리즘을 사용하여 암호화되며 암호화 결과는 후속 처리를 위해 PHP로 전송됩니다.

 var dataToEncrypt = "Hello, World!";
var encryptedData = CryptoJS.AES.encrypt(dataToEncrypt, key).toString();

이 코드는 "Hello, World!"문자열을 암호화합니다. 키를 사용하면 암호화 된 데이터가 변수 암호화 데이터에 저장됩니다.

데이터를 해독합니다

PHP에서는 OpenSSL Extension이 제공하는 AES 암호 해독 방법을 사용하여 암호화 된 데이터를 해독합니다.

 $encryptedData = $_POST['encryptedData'];
$decryptedData = openssl_decrypt($encryptedData, 'AES-128-ECB', $key);

이 코드는 게시물 요청에서 암호화 된 데이터를 가져오고 키를 사용하여 해독 된 데이터를 얻습니다.

요약

이 기사는 JavaScript와 PHP를 통해 AES 대칭 암호화 알고리즘 사이의 안전한 데이터 암호화 통신을 달성하는 방법을 보여줍니다. 키를 생성, 키 전송, 데이터를 암호화 및 해독하는 단계를 통해 데이터의 보안을 보장 할 수 있습니다. 실제 응용 분야에서 열쇠 보호 및 암호화 프로세스의 효과를 보장하기 위해 전송 프로세스의 보안을 더욱 향상시켜야한다는 점에 유의해야합니다.

이 기사의 예제를 통해 JavaScript와 PHP 간의 암호화 된 커뮤니케이션을 이해하고 구현하여 웹 응용 프로그램의 보안을 향상시킬 수 있어야합니다.