<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Base64</id>
	<title>Base64 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Base64"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Base64&amp;action=history"/>
	<updated>2026-07-06T04:21:16Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=Base64&amp;diff=107789&amp;oldid=prev</id>
		<title>Gaon12: 시작</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Base64&amp;diff=107789&amp;oldid=prev"/>
		<updated>2025-02-26T11:01:53Z</updated>

		<summary type="html">&lt;p&gt;시작&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 개요 ==&lt;br /&gt;
base64는 바이너리 데이터를 ASCII 문자열로 인코딩하는 방식으로, 64개의 출력 문자(영문 대소문자 52개, 숫자 10개, 기호 2개)를 사용하여 데이터를 표현한다.&amp;lt;ref name=&amp;quot;RFC4648&amp;quot;&amp;gt;[https://datatracker.ietf.org/doc/html/rfc4648 RFC 4648 - The Base16, Base32, and Base64 Data Encodings]&amp;lt;/ref&amp;gt; 주로 바이너리 데이터를 텍스트 기반 프로토콜(예: 이메일, HTTP 등)에서 안전하게 전송하기 위해 사용된다.&lt;br /&gt;
&lt;br /&gt;
base64는 &amp;#039;&amp;#039;&amp;#039;암호화나 보안 기법이 아니다.&amp;#039;&amp;#039;&amp;#039; 이는 단순히 데이터를 다른 형식으로 표현하는 인코딩 방식에 불과하며, 비밀번호 저장이나 민감한 데이터 보호 용도로 사용될 경우 심각한 보안 취약점을 초래할 수 있습니다. 비밀번호 저장에는 반드시 bcrypt, Argon2 등의 안전한 해싱 알고리즘을 사용해야 합니다.&amp;lt;ref name=&amp;quot;security&amp;quot;&amp;gt;[https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html Password Storage Cheat Sheet (OWASP)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 역사 ==&lt;br /&gt;
base64 인코딩은 1987년에 발표된 MIME(Multipurpose Internet Mail Extensions) 규격의 일부로 처음 표준화되었다.&amp;lt;ref name=&amp;quot;MIME&amp;quot;&amp;gt;[https://datatracker.ietf.org/doc/html/rfc1341 RFC 1341 - MIME (Multipurpose Internet Mail Extensions)]&amp;lt;/ref&amp;gt; 당시 이메일 시스템이 7비트 ASCII 문자만 지원하던 제약을 극복하기 위해, 바이너리 파일(예: 이미지, 실행 파일 등)을 텍스트로 변환하여 전송할 필요가 있었다.&lt;br /&gt;
&lt;br /&gt;
== 작동 원리 ==&lt;br /&gt;
base64는 다음과 같은 과정을 통해 데이터를 인코딩한다:&lt;br /&gt;
# 원본 데이터의 각 바이트(8비트)를 연속된 비트 스트림으로 취급한다.&lt;br /&gt;
# 이 비트 스트림을 6비트 단위로 분할한다(6비트는 0부터 63까지 64가지 값을 표현할 수 있음).&lt;br /&gt;
# 각 6비트 값을 미리 정의된 64개 문자 중 하나에 매핑한다.&lt;br /&gt;
&lt;br /&gt;
=== 인코딩 테이블 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ base64 인코딩 테이블&lt;br /&gt;
! 값 !! 문자 !! 값 !! 문자 !! 값 !! 문자 !! 값 !! 문자&lt;br /&gt;
|-&lt;br /&gt;
| 0 || A || 16 || Q || 32 || g || 48 || w&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 17 || R || 33 || h || 49 || x&lt;br /&gt;
|-&lt;br /&gt;
| 2 || C || 18 || S || 34 || i || 50 || y&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 19 || T || 35 || j || 51 || z&lt;br /&gt;
|-&lt;br /&gt;
| 4 || E || 20 || U || 36 || k || 52 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || F || 21 || V || 37 || l || 53 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 6 || G || 22 || W || 38 || m || 54 || 2&lt;br /&gt;
|-&lt;br /&gt;
| 7 || H || 23 || X || 39 || n || 55 || 3&lt;br /&gt;
|-&lt;br /&gt;
| 8 || I || 24 || Y || 40 || o || 56 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 9 || J || 25 || Z || 41 || p || 57 || 5&lt;br /&gt;
|-&lt;br /&gt;
| 10 || K || 26 || a || 42 || q || 58 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 11 || L || 27 || b || 43 || r || 59 || 7&lt;br /&gt;
|-&lt;br /&gt;
| 12 || M || 28 || c || 44 || s || 60 || 8&lt;br /&gt;
|-&lt;br /&gt;
| 13 || N || 29 || d || 45 || t || 61 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 14 || O || 30 || e || 46 || u || 62 || +&lt;br /&gt;
|-&lt;br /&gt;
| 15 || P || 31 || f || 47 || v || 63 || /&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 패딩 ===&lt;br /&gt;
base64 인코딩 시, 입력 데이터의 길이가 3바이트의 배수가 아닐 경우 &amp;#039;=&amp;#039; 문자를 사용하여 인코딩된 문자열의 길이를 4의 배수로 맞춘다.&amp;lt;ref name=&amp;quot;padding&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/Base64#Output_padding Base64 - Output padding (Wikipedia)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 활용 분야 ==&lt;br /&gt;
base64는 다양한 분야에서 활용된다:&lt;br /&gt;
&lt;br /&gt;
=== 이메일 첨부 파일 ===&lt;br /&gt;
MIME 규격에서 바이너리 첨부 파일을 인코딩하는 데 사용된다.&amp;lt;ref name=&amp;quot;MIME&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 웹 개발 ===&lt;br /&gt;
데이터 URL 스키마를 이용해 이미지나 폰트 등을 HTML 내에 인라인으로 삽입할 때 사용된다. [https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs Data URLs(MDN Web Docs)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 웹 API ===&lt;br /&gt;
JSON 등 텍스트 기반 데이터 포맷에서 바이너리 데이터를 안전하게 전송하기 위해 사용된다.&amp;lt;ref name=&amp;quot;api&amp;quot;&amp;gt;[https://developer.mozilla.org/en-US/docs/Glossary/Base64 Base64 (MDN Web Docs)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 인증 시스템 ===&lt;br /&gt;
Basic Authentication에서 사용자 이름과 비밀번호를 인코딩할 때 사용된다.&amp;lt;ref name=&amp;quot;basic-auth&amp;quot;&amp;gt;[https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication HTTP authentication (MDN Web Docs)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;http&amp;quot;&amp;gt;&lt;br /&gt;
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{알림|Basic Authentication에서의 base64 인코딩은 단순 인코딩일 뿐이며, 암호화나 보안을 제공하지 않습니다. 따라서 HTTPS와 같은 보안 프로토콜 없이 사용하면 위험합니다.&amp;lt;ref name=&amp;quot;security-basic&amp;quot;&amp;gt;[https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https Is BASIC-Auth secure if done over HTTPS?]&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== 관련 항목 ==&lt;br /&gt;
* [[MIME]]&lt;br /&gt;
* [[바이너리 파일]]&lt;br /&gt;
* [[ASCII]]&lt;br /&gt;
* [[URL 인코딩]]&lt;br /&gt;
* [[해시 함수]]&lt;br /&gt;
&lt;br /&gt;
== 각주 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 외부 링크 ==&lt;br /&gt;
* [https://datatracker.ietf.org/doc/html/rfc4648 RFC 4648 - The Base16, Base32, and Base64 Data Encodings]&lt;br /&gt;
* [https://www.base64encode.org/ Base64 Encode/Decode 온라인 도구]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Glossary/Base64 Base64 - MDN Web Docs]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 분류 --&amp;gt;&lt;br /&gt;
[[분류:인코딩]] [[분류:디코딩]]&lt;/div&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
</feed>