더북(TheBook)

3.5.5.2 양방향 암호화

이번에는 양방향 대칭형 암호화를 알아보겠습니다. 암호화된 문자열을 복호화할 수 있으며, 키(열쇠)라는 것이 사용됩니다. 대칭형 암호화에서는 암호를 복호화하려면 암호화할 때 사용한 키와 같은 키를 사용해야 합니다.

다음은 노드로 양방향 암호화하는 방법입니다. 하지만 다음 코드를 완벽하게 이해하려면 암호학을 추가로 공부해야 합니다.

cipher.js

const crypto = require('crypto');

const algorithm = 'aes-256-cbc';
const key = 'abcdefghijklmnopqrstuvwxyz123456';
const iv = '1234567890123456';

const cipher = crypto.createCipheriv(algorithm, key, iv);
let result = cipher.update('암호화할 문장', 'utf8', 'base64');
result += cipher.final('base64');
console.log('암호화:', result);

const decipher = crypto.createDecipheriv(algorithm, key, iv);
let result2 = decipher.update(result, 'base64', 'utf8');
result2 += decipher.final('utf8');
console.log('복호화:', result2);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.