본문으로 건너뛰기

Node.js 에서 Base64 인코딩하기

  author: Dev.ian
createdAt: 2023-01-12
updatedAt: 2023-01-14

Base64 인코딩?

Binary Data (이진데이터) 를 64(2^6)개의 ASCII 문자로 변환하여 Text 로 변환시키는 인코딩 방식

  • 이미지나 오디오 파일과 같은 이진데이터를 전송하기 위해 문자열로 변환시킬 때 주로 사용
    • 이진데이터를
  • 암호화 과정이 없기 때문에 디코딩을 하면 원래의 데이터를 금방 알 수 있다
    • 따라서 비밀번호와 같은 민감한 데이터에는 사용해선 안 된다.

Node.js 에서 Base64 인코딩하기

  • Buffer 모듈을 사용해 Encode/Decode 한다.
    • js 에서 제공하는 btoa(’${변환데이터}’) 함수(Encoding)와 atob(’${변환데이터}’) 함수(Decoding)를 이용하여 Base64 인코딩을 할 수 있으나 웹브라우저에서만 사용가능하다.

Base64 Encoding

  • Buffer.from('${Encoding 할 문자열}', 'utf8').toString('base64')

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

Base64 Decoding

  • Buffer.from('${Decoding 할 문자열}', 'base64').toString('utf8')

      const plain = Buffer.from('dXNlcm5hbWU6cGFzc3dvcmQ=', 'base64').toString('utf8')