Node.js에서 Base64 인코딩과 디코딩하는 방법
Overview
섹션 제목: “Overview”Base64는 이진 데이터를 텍스트로 다루기 쉽게 바꾸는 인코딩 방식이다.
이미지, 파일, 인증 문자열처럼 바이너리 데이터를 텍스트 기반 형식으로 전달해야 할 때 자주 사용한다.
Node.js에서 Buffer를 사용해 Base64 인코딩과 디코딩을 처리하는 방법만 간단히 정리한다.
How to
섹션 제목: “How to”1) 문자열을 Base64로 인코딩하기
섹션 제목: “1) 문자열을 Base64로 인코딩하기”const encoded = Buffer.from('username:password', 'utf8').toString('base64');2) Base64 문자열을 다시 디코딩하기
섹션 제목: “2) Base64 문자열을 다시 디코딩하기”const plain = Buffer.from('dXNlcm5hbWU6cGFzc3dvcmQ=', 'base64').toString( 'utf8',);Example
섹션 제목: “Example”1) Basic 인증용 문자열 인코딩
섹션 제목: “1) Basic 인증용 문자열 인코딩”const encoded = Buffer.from('username:password', 'utf8').toString('base64');
console.log(encoded);// dXNlcm5hbWU6cGFzc3dvcmQ=2) Base64 문자열 디코딩
섹션 제목: “2) Base64 문자열 디코딩”const plain = Buffer.from('dXNlcm5hbWU6cGFzc3dvcmQ=', 'base64').toString( 'utf8',);
console.log(plain);// username:passwordNotes
섹션 제목: “Notes”1) Base64는 암호화가 아니다
섹션 제목: “1) Base64는 암호화가 아니다”- Base64는 인코딩 방식일 뿐이라서, 디코딩하면 원래 데이터를 다시 확인할 수 있다.
- 비밀번호 같은 민감한 데이터를 보호하는 용도로 쓰면 안 된다.
2) btoa / atob와 Buffer의 차이
섹션 제목: “2) btoa / atob와 Buffer의 차이”btoa와atob는 브라우저에서 자주 보는 문자열 기반 Base64 함수다.Buffer는 Node.js에서 문자열뿐 아니라 바이너리 데이터까지 함께 다룰 때 기본적으로 많이 사용하는 방식이다.- 이 문서는 Node.js 기준 문서이므로
Buffer사용 방법만 다룬다.