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 인코딩을 할 수 있으나 웹브라우저에서만 사용가능하다.
- js 에서 제공하는
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')