base64_encode 란 ?
base64_encode — Encodes data with MIME base64
MIME base64로 데이터를 인코딩, 공식 문서에 나와있는 내용이다.
모든 정보를 64개 문자로 구성된 64진수로 바꾸는 것으로 a-z, A-Z, 0-9, +, / 의 문자이며 암호화 방식과 는 거리가 멀고, 원 데이터보다 약 33% 더 많은 공간을 필요로 한다.
정리하면 Binary Data를 Text로 변경하는 인코딩이다. 이메일을 주고 받거나 홈페이지에 파일을 업로드 할 때, 문제가 없도록 하기 위해서 본래 내용을 64개의 문자로만 구성된 문장으로 변환한다는 의미이다.
64개 문자는 = 가 포함한 문자인데, =는 단순히 4자리 수를 맞춰줄 빈 공간을 채우는 의미없는 문자이므로
신경쓰지 않아도 된다.
다만, GET 이나 Request 로 Parameter를 전송시 '+' , '/' 문자가 문제시 되므로 urlencode 로 데이터를 보호하거나 치환해서 데이터를 보호해 줄 필요가 있다.
# base64_encode(string $string) : string
$str = "base64_decode";
$str = base64_encode($str);
------------------------------
"YmFzZTY0X2VuY29kZQ==""
# base64_decode(string $string) : string
$str = "YmFzZTY0X2VuY29kZQ==";
$str = base64_decode($str);
------------------------------
"base64_encode"