콘텐츠로 이동

Node.js에서 Base64 인코딩과 디코딩하는 방법

등록일

수정일

Base64는 이진 데이터를 텍스트로 다루기 쉽게 바꾸는 인코딩 방식이다.

이미지, 파일, 인증 문자열처럼 바이너리 데이터를 텍스트 기반 형식으로 전달해야 할 때 자주 사용한다.

Node.js에서 Buffer를 사용해 Base64 인코딩과 디코딩을 처리하는 방법만 간단히 정리한다.

const encoded = Buffer.from('username:password', 'utf8').toString('base64');

2) Base64 문자열을 다시 디코딩하기

섹션 제목: “2) Base64 문자열을 다시 디코딩하기”
const plain = Buffer.from('dXNlcm5hbWU6cGFzc3dvcmQ=', 'base64').toString(
'utf8',
);
const encoded = Buffer.from('username:password', 'utf8').toString('base64');
console.log(encoded);
// dXNlcm5hbWU6cGFzc3dvcmQ=
const plain = Buffer.from('dXNlcm5hbWU6cGFzc3dvcmQ=', 'base64').toString(
'utf8',
);
console.log(plain);
// username:password

  • Base64는 인코딩 방식일 뿐이라서, 디코딩하면 원래 데이터를 다시 확인할 수 있다.
  • 비밀번호 같은 민감한 데이터를 보호하는 용도로 쓰면 안 된다.
  • btoaatob는 브라우저에서 자주 보는 문자열 기반 Base64 함수다.
  • Buffer는 Node.js에서 문자열뿐 아니라 바이너리 데이터까지 함께 다룰 때 기본적으로 많이 사용하는 방식이다.
  • 이 문서는 Node.js 기준 문서이므로 Buffer 사용 방법만 다룬다.