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 등)에서는 암호화된 데이터를 복호화하여 사용자에게 제대로 출력되도록 활용할 수 있음.
 

답글 남기기