JavaScript 23일차

펭도리·2021년 2월 21일
0

JavaScript

목록 보기
23/32
post-thumbnail

암호화

// 모듈을 추출한다.
var crypto = require('crypto');

// 변수를 선언한다.
var key = '아무도 알지 못하는 나만의 비밀 키';
var input = 'PASSWORD';


//암호화
var cipher = crypto.createCipher('aes192', key);
// utf8 양식의 데이터를 위 암호화 알고리즘을 이용하여
// base64비트의 형태로 표현을 하겠다는 의미. = cipher.update('암호화할데이터', 양식의 데이터, 표현방법)
cipher.update(input, 'utf8', 'base64');
var cipheredOutput = cipher.final('base64');


//암호화 해제
var decipher = crypto.createDecipher('aes192', key);
decipher.update(cipheredOutput, 'base64', 'utf8');
var decipheredOutput = decipher.final('utf8');

// 출력
console.log(`원래 문자열 : ${input}`);
console.log(`암호화 : ${cipheredOutput}`);
console.log(`암호화 해제 : ${decipheredOutput}`);

이해가 안된다면 여기를 보면 이해를 할 수 있다.

Crypro 모듈

  • node.js에서 데이터 암호화 기능을 제공하는 모듈이다.
  • 현재 존재하는 대부분의 암호화 알고리즘을 지원한다.

getCiphers : 지원하는 암호화 알고리즘 이름들을 반환
createCipher : 암호화용 객체를 생성
createDecipher : 복호화용 객체를 생성
update : 데이터를 암호화 하거나 복호화
final : 암호화된 데이터에 마지막 종료 블럭을 추가

암호화는 복호화 순서를 반대로 하면되고 마찬가지로 복호화는 암호화 순서를 반대로 해주면 된다.

profile
풀스택 개발자가 되고싶은 코린이 이한글

0개의 댓글