자바스크립트에서 JSON 데이터를 암호화하기

자바스크립트를 사용하여 JSON 데이터를 암호화할 수 있는 여러 가지 방법이 있습니다. 이 글에서는 CryptoJS 라이브러리를 사용하여 간단한 예제를 제공하고자 합니다.

CryptoJS 라이브러리 설치하기

먼저, CryptoJS 라이브러리를 설치해야 합니다. 이 라이브러리는 자바스크립트에서 암호화 기능을 제공하는 인기있는 라이브러리입니다. npm 이나 yarn 을 사용하여 설치할 수 있습니다.

npm install crypto-js

또는

yarn add crypto-js

암호화 예제

다음은 JSON 데이터를 암호화하는 예제 코드입니다.

const CryptoJS = require("crypto-js");

// 원본 JSON 데이터
const jsonData = {
  name: "John",
  age: 25,
  email: "john@example.com"
};

// 원본 JSON 데이터를 문자열로 변환
const jsonString = JSON.stringify(jsonData);

// 암호화 키 설정
const encryptionKey = "my-secret-key";

// JSON 데이터를 암호화
const encryptedData = CryptoJS.AES.encrypt(jsonString, encryptionKey).toString();

console.log("암호화된 데이터:", encryptedData);

위의 코드에서는 CryptoJS 라이브러리의 AES.encrypt 메서드를 사용하여 JSON 데이터를 AES 암호화 알고리즘을 사용해 암호화합니다. 암호화에 사용되는 키는 encryptionKey 변수에 할당된 값입니다.

암호화된 결과는 문자열 형태인 encryptedData 변수에 저장되며, 이를 원하는 방식으로 저장하거나 전송할 수 있습니다.

복호화 예제

암호화된 JSON 데이터를 복호화하는 예제 코드는 다음과 같습니다.

const CryptoJS = require("crypto-js");

// 암호화된 데이터
const encryptedData = "somedata";

// 암호화 키 설정
const encryptionKey = "my-secret-key";

// JSON 데이터를 복호화
const decryptedBytes = CryptoJS.AES.decrypt(encryptedData, encryptionKey);
const decryptedData = JSON.parse(decryptedBytes.toString(CryptoJS.enc.Utf8));

console.log("복호화된 데이터:", decryptedData);

위의 코드에서는 CryptoJS 라이브러리의 AES.decrypt 메서드를 사용하여 암호화된 데이터를 복호화합니다. 이후 toStringJSON.parse 함수를 사용하여 원래 JSON 형식으로 데이터를 변환합니다.

이렇게 암호화된 데이터를 복호화하여 원본 JSON 데이터를 얻을 수 있습니다.

마무리

이 글에서는 자바스크립트에서 JSON 데이터를 암호화하는 방법에 대해 알아보았습니다. CryptoJS 라이브러리를 사용하면 간단하게 JSON 데이터를 암호화하고, 필요에 따라 복호화할 수 있습니다. 암호화된 데이터는 안전하게 저장하거나 전송할 수 있으므로 보안 요구 사항에 맞게 사용할 수 있습니다.

#javascript #JSON #암호화 #CryptoJS