์ƒˆ์†Œ์‹

IT & Security/Web

์ธ์ฝ”๋”ฉ(ascii, html, url, base 64 ..)

  • -
๋ฐ˜์‘ํ˜•

 

IT์ธ์ด๋ผ๋ฉด ์–ด๋””์—์„œ๋“  ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ ๋ฒ•ํ•œ "์ธ์ฝ”๋”ฉ!"

๊ฐ์ข… ์‚ฌ์ดํŠธ์—์„œ Web๋ฌธ์ œ๋ฅผ ํ’€๋•Œ๋„ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š”๋ฐ์š”,

 

์˜ค๋Š˜์€ ์ œ๊ฐ€ ์ž์ฃผ ์“ฐ๋Š” ์ธ์ฝ”๋”ฉ ์ข…๋ฅ˜์™€, ์ธ์ฝ”๋”ฉ์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

(์ œ๊ฐ€ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ด์„œ ์ •๋ฆฌ๊ฒธ ์จ๋†“์€ ๊ฒƒ์ด๋‹ˆ, ํ‹€๋ฆฐ ๋ฌธ์žฅ์€ ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์„ธ์š”.)

 

 


 

 

์ธ์ฝ”๋”ฉ?

 

์ธ์ฝ”๋”ฉ(encoding)์€ ์ •๋ณด์˜ ํ˜•ํƒœ๋‚˜ ํ˜•์‹์„ ํ‘œ์ค€ํ™”, ๋ณด์•ˆ, ์ฒ˜๋ฆฌ ์†๋„ ํ–ฅ์ƒ, ์ €์žฅ ๊ณต๊ฐ„ ์ ˆ์•ฝ ๋“ฑ์„ ์œ„ํ•ด์„œ ๋‹ค๋ฅธ ํ˜•ํƒœ๋‚˜ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ฒ˜๋ฆฌ ํ˜น์€ ๊ทธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๋™์˜์ƒ์ด๋‚˜ ์ด๋ฏธ์ง€์˜์—ญ์—์„œ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด๋กœ, ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•˜๋‹ค.

 

 

ํŠน์ง•

 

- ์ •๋ณด์˜ ํ˜•ํƒœ๋‚˜ ํ˜•์‹์„ ๋ณ€ํ™˜ํ•˜๋Š” ์ฒ˜๋ฆฌ๋‚˜ ์ฒ˜๋ฆฌ ๋ฐฉ์‹

 

- ๋‚ด์šฉ์—๋Š” ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค. ์ฆ‰ ํ˜•ํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด์ง€ ๋‚ด์šฉ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹˜.

 

- ์•”ํ˜ธํ™”๋กœ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ. (์•”ํ˜ธํ™” : ๋ชป ์•Œ์•„๋ด์•ผํ•จ -> ์ฆ‰ ๊ทœ์น™์ด ์ผ์ •์น˜ ์•Š๊ฒŒ ์น˜ํ™˜ ํ˜น์€ ์ „์น˜ ํ•˜๋Š”๋ฐ,

  ์ธ์ฝ”๋”ฉ์˜ ๊ฐœ๋…๊ณผ๋Š” ๋‹ค๋ฆ„)

 

- ์ข…๋ฅ˜๋กœ๋Š” ASCII , URL , HTML , Base64 .....๋“ฑ์˜ ์ธ์ฝ”๋”ฉ์ด ์žˆ๋‹ค. (๊ทธ์™ธ์—๋„ ์ •๋ง ๋‹ค์–‘ํ•œ ์ธ์ฝ”๋”ฉ์ด ์กด์žฌ ํ•จ.)


 

 

์œ„ํ‚ค๋ฐฑ๊ณผ์—์„œ๋Š” ์ธ์ฝ”๋”ฉ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค.

https://ko.wikipedia.org/wiki/%EC%9D%B8%EC%BD%94%EB%94%A9

 

 

 

ASCII ์ธ์ฝ”๋”ฉ

 

ASCII๋Š” ์ตœ์ดˆ์˜ ๋ฌธ์ž์—ด ์ธ์ฝ”๋”ฉ์ด๋‹ค. 7 bit๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์˜์–ด๋ฅผ ์œ„ํ•œ ๋ฌธ์ž, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž, ๊ธฐํ˜ธ ๋“ฑ 128๊ฐœ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ASCII์—์„œ๋Š” ์˜์–ด๋งŒ์„ ๊ณ ๋ คํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ๊ณ , ์ผ๋ณธ์–ด ์ค‘๊ตญ์–ด ๋“ฑ ๋‹ค๋ฅธ ์–ธ์–ด๋Š” ํ‘œํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

์•„๋ž˜ ์‚ฌ์ดํŠธ๋Š” ์œ„ํ‚ค๋ฐฑ๊ณผ์˜ ์ •์˜๋œ ASCII ์ธ์ฝ”๋”ฉ์ด๋‹ค.

 

https://ko.wikipedia.org/wiki/ASCII

 

ASCII - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. 1972 ํ”„๋ฆฐํ„ฐ ์‚ฌ์šฉ ์„ค๋ช…์„œ์— ๊ฐœ์‹œ๋œ ์•„์Šคํ‚ค ์ฝ”๋“œ ์ฐจํŠธํ‘œ ๋ฏธ๊ตญ์ •๋ณด๊ตํ™˜ํ‘œ์ค€๋ถ€ํ˜ธ(์˜์–ด: American Standard Code for Information Interchange), ๋˜๋Š” ์ค„์—ฌ์„œ ASCII( , ์•„์Šคํ‚ค)๋Š” ์˜๋ฌธ

ko.wikipedia.org

 

ํŠน์ง•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

- ASCII (American Standard Code for Information Interchange) : ๋ฏธ๊ตญ ์ •๋ณด๊ตํ™˜ ํ‘œ์ค€ ์ฝ”๋“œ

 

- 1Byte ์ค‘ 7bit๋ฅผ ์ด์šฉํ•ด์„œ 0 ~ 127 ๊นŒ์ง€ 128๊ฐœ์ด ๋ฌธ์ž๋ฅผ ๊ตฌ์„ฑํ•œ ์ฝ”๋“œ

 

- 128๊ฐœ์˜ ๋ฌธ์ž๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž, ๋ณด์กฐ๋ฌธ์ž, ์ œ์–ด๋ฌธ์ž๋กœ ๊ตฌ์„ฑ

 

- ์˜๋ฌธ ์•ŒํŒŒ๋ฒณ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•



 

 

 

URL ์ธ์ฝ”๋”ฉ

 

URL ์ธ์ฝ”๋”ฉ์€ ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ์€ URL์— ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์— ๋”ฐ๋ฅด๋ฉด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ˆซ์ž ๋“ฑ ๋ช‡๋ช‡ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๊ฐ’์€ ์˜ฅํ…Ÿ ๋‹จ์œ„๋กœ ๋ฌถ์–ด์„œ, 16์ง„์ˆ˜ ๊ฐ’์œผ๋กœ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.

 

 

์•„๋ž˜ ์‚ฌ์ดํŠธ๋Š” ์œ„ํ‚ค๋ฐฑ๊ณผ์˜ ์ •์˜๋œ url ์ธ์ฝ”๋”ฉ์ด๋‹ค.

https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD%94%EB%94%A9

 

ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ(percent-encoding)์€ URL์— ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์— ๋”ฐ๋ฅด๋ฉด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ˆซ์ž ๋“ฑ ๋ช‡๋ช‡ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๊ฐ’์€ ์˜ฅํ…Ÿ ๋‹จ์œ„๋กœ ๋ฌถ์–ด๏ฟฝ

ko.wikipedia.org

 

ํŠน์ง•

 

- URL์€ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž๊ฐ€ ์ œํ•œ๋˜์–ด์žˆ๋‹ค.

 

- URL ์ŠคํŽ™์ธ RFC 1738์—๋Š” URL์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž๋Š” ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž์™€ ๋ช‡๊ฐ€์ง€ ํŠน์ˆ˜๋ฌธ์ž๋กœ ์ œํ•œ๋˜์–ด์žˆ๋‹ค.

 

- ๋”ฐ๋ผ์„œ ํ•œ๊ธ€ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋ฌธ์ž๋ฅผ URL์— ํ‘œ์‹œํ•˜๋ ค๋ฉด URL์— ํ—ˆ์šฉํ•˜๋Š” ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

 

- URL ๋ฉ”ํƒ€๋ฌธ์ž๋“ค์— ๋Œ€ํ•œ ์ธ์ฝ”๋”ฉ์ด ํ•„์š”ํ•˜๋‹ค

 

- ํ˜•์‹ : ๊ธฐ์กด ๋ฌธ์ž์—ด์˜ HEX ๊ฐ’ ์•ž์— %๋ฅผ ์‚ฌ์šฉ (ASCII Table์˜ ์ถœ๋ ฅ๊ฐ€๋Šฅ ๋ฌธ์ž)

 

- ํ•œ๊ธ€ : UTF-8 ์‚ฌ์šฉ

 

- Force Full URL Encoding : ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๊ฐ•์ œ๋กœ ์ธ์ฝ”๋”ฉ

 

 

 

HTML ์ธ์ฝ”๋”ฉ

 

์•„๋ž˜ ๋ธ”๋กœ๊ทธ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

์ถœ์ฒ˜ : https://ghdwn0217.tistory.com/76

 

 

 

Base 64 ์ธ์ฝ”๋”ฉ

 

์ปดํ“จํ„ฐ ๋ถ„์•ผ์—์„œ ์“ฐ์ด๋Š” Base 64 ๋ž€ 8๋น„ํŠธ ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž ์ฝ”๋“œ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ๊ณตํ†ต ASCII ์˜์—ญ์˜ ๋ฌธ์ž๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ผ๋ จ์˜ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๋Š” ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐœ๋…์ด๋‹ค. ์›๋ž˜ Base 64๋ฅผ ๊ธ€์ž ๊ทธ๋Œ€๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ๋ณด๋ฉด 64์ง„๋ฒ•์ด๋ž€ ๋œป์ด๋‹ค.

 

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

์œ„ํ‚ค๋ฐฑ๊ณผ์˜ ์ •์˜๋œ Base 64 ์ธ์ฝ”๋”ฉ

 

 

 

BASE64 ์ธ์ฝ”๋”ฉ ์ˆœ์„œ 

 

1. ์•„์Šคํ‚ค ํ…Œ์ด๋ธ” ๋งตํ•‘

 

2. 2์ง„์ˆ˜ ๋ณ€ํ™˜

 

3. 6bit ๋‹จ์œ„๋กœ ๋ถ„ํ• 

 

4. 10์ง„์ˆ˜ ๋ณ€ํ™˜

 

5. BASE64 ํ…Œ์ด๋ธ” ๋งตํ•‘

 

6. ํŒจ๋”ฉ์—ฐ์‚ฐ( ์ด ๋น„ํŠธ์ˆ˜ % 3 => 0 : ์—†์Œ / 1 : = / 2 : == )

 

 

 

ํŠน์ง•

 

- 2์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ASCII ํ˜•ํƒœ์˜ ํ…์ŠคํŠธ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ

 

- ์›น ์ธ์ฆ ์ค‘ ๊ธฐ๋ณธ์ธ์ฆ์— ์‚ฌ์šฉ

 

- ๋ ๋ถ€๋ถ„์˜ Padding(==)์œผ๋กœ ์‹๋ณ„ ๊ฐ€๋Šฅ

 

- 64๊ฐœ์˜ ๋ฌธ์ž ์‚ฌ์šฉ (์˜๋ฌธ ๋Œ€, ์†Œ๋ฌธ์ž, ์ˆซ์ž , + , / )

 

- ๋ฐ์ดํ„ฐ๋ฅผ 6bit ๋‹จ์œ„๋กœ ํ‘œํ˜„


์ด ํŠน์ง•๋•์— base 64 ์ธ์ฝ”๋”ฉ์ด๋ผ๋Š” ๊ฒƒ์„ ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ์•Œ์•„์ฑŒ ์ˆ˜ ์žˆ์Œ! (๋’ค์— =์ด ์žˆ๋‹ค๋ฉด ์˜์‹ฌํ•ด๋ณด๊ธฐ)

 

 

 

์ถœ์ฒ˜: https://itstory.tk/entry/์ธ์ฝ”๋”ฉ์ด๋ž€-ASCII-URL-HTML-Base64-MS-Script-์ธ์ฝ”๋”ฉ 

 

 

 

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.