ID, PW 전송시, Base64 인코딩을 사용하는 이유가 궁금합니다.
417
작성한 질문수 19
질문의 내용은 제목과 동일합니다.
아래는 제가 궁금해서 찾아본 내용입니다.
Base64 인코딩은 텍스트형태로 데이터를 전송할 때 사용한다고 하더군요.
저희는 HTTP 통신을 하게 되는데, HTTP 통신에서는 이진데이터 전송이 불가하다고 합니다. (버전별로 다 그런지 찾아본것은 아님)
그래서 pdf 나 이미지 같은 이진 바이너리 파일을 전송하기 위해 Base64 를 사용한다고 이해를 했습니다.
코드 상에서 String 형태의 문자열은 이미 문자열 형태라고 하는데.. ID, PW 를 Base64 인코딩하시는 이유가 있을까요?
찾아본 바로는, 있다면 시스템간의 호환성 문제일거라고 생각하는데, 호환성 문제라고 찾았본 케이스들은 너무 예전 시스템이라고하니 와닿지 않네요.
찾아본 내용들은 책이 아니라, 인터넷에서 검색한 내용들이라 틀렸을 수도 있습니다.
실무에서는 일반적으로 ID/PW에 대해 Base64 인코딩을 사용하는 것인가요?
답변 1
0
안녕하세요!
답변에 실망하실수도 있으나 그냥 일종의 약속이라고 생각하시면 됩니다. (즉, 제가 정한 스펙이 아닙니다)
OAuth라는 스펙에서 ID/PASS를 base64 인코딩해서 보내는걸로 정의가 돼있으며 대부분의 인증 스펙이 OAuth를 사용하기 때문에 실무에서 보통 base64를 사용한다고해도 틀리진 않습니다.
정확히는 base64가 아니라 URL에서 사용가능한 특수문자만 사용하는 url encoded base64입니다.
같은 이유로 추측을 해보자면 아마 base64를 사용하게되면 인식 불가능한 문자가 전송될 일이 없기때문이 아닐까 예측 해봅니다. 단순하게 스펙이 만들어지던 당시에 base64가 가장 스탠다드하고 인기 있던 인코딩 방식이었을수도 있구요.
감사합니다!
Isar 마지막 업데이트는 2년전입니다.
0
30
0
FlutterSecureStorage 질문
0
31
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
79
2
관리자 기능에 대한 질문
0
100
2
part 'restaurant_model.g.dart';
0
92
1
36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.
0
56
2
2번 반환 상황 관련 질문
0
61
2
riverpod 3.0
0
139
2
Asset folder??
0
82
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
113
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
67
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
101
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
84
2
장바구니 결제하기 응답이 500이 옵니다.
0
105
2
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
0
67
2
이 두가지는 완전히 동일한 기능인가요?
0
106
3
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
0
77
2
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
0
86
2
코딩 작성 순서 관련 질문
0
88
2





