JavaScript 23일차
1280 단어 JavaScriptJavaScript
암호화
// 모듈을 추출한다.
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
: 암호화된 데이터에 마지막 종료 블럭을 추가
암호화는 복호화 순서를 반대로 하면되고 마찬가지로 복호화는 암호화 순서를 반대로 해주면 된다.
Author And Source
이 문제에 관하여(JavaScript 23일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@leehangeul/JavaScript-23일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)