자바스크립트/Node Js
[NodeJS] crypto 양방향 암호화(cipher)
RightHot
2018. 12. 18. 19:40
crypto 양방향 암호화(cipher)
const crypto = require('crypto');
// hiddenKey 를 알아야 복호화 가능
// utf8 문자열을 base64 암호문으로 변경
const cipher = crypto.createCipher('aes-256-cbc', 'hiddenKey');
let result = cipher.update('password', 'utf8', 'base64');
result += cipher.final('base64');
console.log('암호화된 암호: ', result);
// 복호화
// 잘못된키 입력시 Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt 에러 뜸
const decipher = crypto.createDecipher('aes-256-cbc', 'hiddenKey');
let result2 = decipher.update(result, 'base64', 'utf8');
result2 += decipher.final('utf8');
console.log('복호화된 평문: ',result2);
암호화된 암호: ZYHrwMk18d2uXmNm4buSsQ==
복호화된 평문: password