[javascript] 문자열 복호화하기

JavaScript에서 문자열을 복호화하기 위해서는 대칭키 알고리즘을 사용해야 합니다. 대표적인 대칭키 알고리즘으로 AES (Advanced Encryption Standard)가 있습니다.

이제 복호화할 문자열과 대칭키를 작성해 보겠습니다.

const encryptedText = "암호화된 문자열";
const secretKey = "비밀키";

프로젝트에서 실제로 사용할 때에는, 비밀키를 안전하게 보관해야 합니다. 이 예제에서는 간단하게 문자열로 작성했지만, 실제로는 보안상의 이유로 키를 안전한 저장소에 저장하는 것이 좋습니다.

이제 Crypto 모듈을 사용하여 복호화 로직을 작성하겠습니다. Crypto 모듈은 Node.js에서 제공하는 암호화 관련 기능을 사용할 수 있도록 도와줍니다.

const crypto = require('crypto');

function decryptText(encryptedText, secretKey) {
  const decipher = crypto.createDecipher('aes-256-cbc', secretKey);
  
  let decrypted = decipher.update(encryptedText, 'base64', 'utf8');
  decrypted += decipher.final('utf8');
  
  return decrypted;
}

const decryptedText = decryptText(encryptedText, secretKey);
console.log(decryptedText);

복호화 함수 decryptTextcreateDecipher 함수를 사용하여 암호화된 텍스트를 복호화하기 위한 복호화기를 생성합니다. 이때 사용된 알고리즘은 ‘aes-256-cbc’이며, 비밀키는 암호화할 때 사용한 키와 동일해야 합니다.

update 메소드를 사용하여 암호화된 텍스트를 복호화하고, final 메소드를 사용하여 마지막 블록을 복호화합니다. 복호화된 결과는 UTF-8 인코딩으로 디코딩되어 반환됩니다.

복호화된 결과를 콘솔에 출력하여 확인할 수 있습니다. 이제 문자열을 복호화하는 JavaScript 코드를 작성할 수 있게 되었습니다.

추가로, Crypto 모듈에 대한 더 자세한 정보는 Node.js 공식 문서를 참고하시기 바랍니다.