[Node]_암호화_설정

Node.js에서 데이터 암호화(Encryption) 쉽게 구현하기 💡

데이터 전송 시 암호화 요청이 많아지는 요즘, Node.js에서 crypto-js를 이용한 데이터 암호화 방법을 정리했음.


📦 1. crypto-js 설치 및 준비

crypto-js는 JavaScript에서 데이터를 암호화하는 데 사용되는 라이브러리임.

  • 설치 명령어:
    npm i -d crypto-js

  • TypeScript 사용 시 추가 설치:
    npm i --save-dev @types/crypto-js


🔑 2. 암호화/복호화 모듈 설정

crypto-js를 활용하여 암호화 및 복호화 기능을 담당하는 모듈을 구성했음.

"use strict";

let CryptoJS = require("crypto-js");
let encryptMode = true; // 암호화 모드 활성화 여부

// 데이터 암호화 함수
exports.encrypt = (text) => {
  if (encryptMode) {
    return CryptoJS.AES.encrypt(text, global.encryptionKey).toString();
  } else {
    return text;
  }
};

// 데이터 복호화 함수
exports.decrypt = (value) => {
  if (encryptMode) {
    return CryptoJS.AES.decrypt(value, global.encryptionKey).toString(CryptoJS.enc.Utf8);
  } else {
    return value;
  }
};
  • global.encryptionKey: 암호화에 사용될 키 값. 이 키는 보안상 안전하게 관리해야 함.
  • encryptMode: 암호화 기능을 활성화/비활성화하는 플래그.

🔒 3. 데이터 암호화 적용

위에서 설정한 모듈을 불러와 실제 데이터를 암호화하는 예시임.

const crypto = require("./crypto"); // 위에서 작성한 암호화 모듈 불러오기

// 암호화할 데이터
const originalData = "암호화할 데이터";

// 데이터 암호화
const encryptedData = crypto.encrypt(originalData);
console.log("암호화된 데이터:", encryptedData);

// 데이터 복호화
const decryptedData = crypto.decrypt(encryptedData);
console.log("복호화된 데이터:", decryptedData);

이 코드를 통해 데이터를 안전하게 암호화하고 복호화할 수 있음. Node.js 백엔드에서 특정 데이터를 암호화하고, 프론트엔드(Angular 등)에서는 암호화된 데이터를 복호화하여 사용자에게 제대로 출력되도록 활용할 수 있음.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다