간단하다.

 

원본자료를 6비트씩 끊어서 처리한 방식이다. 

 

예를 들면 

H 는 아스키 코드로 0x48 

C 는 아스키 코드로 0x43

Y 는 아스키 코드로 0x59

 

아스키코드는 16진수인데 이걸 2진수로 바꾸면 

8421 8421 두번 해서 

01001000 01000011 01011001

이걸 쭉 이어서 붙인다.

010010000100001101011001

이걸 6비트씩 끊는다. 

010010 000100 001101 011001

이런 원리로 한다고 생각하면 된다.

https://www.base64encode.org/

 

Base64 Encode and Decode - Online

Encode to Base64 format or decode from it with various advanced options. Our site has an easy to use online tool to convert your data.

www.base64encode.org

 

SENZCg==

이 사이트 가서 인코딩하면 이렇게 나옴 

 

Base64 인코딩은 그럼 왜 할까? 

 

6비트씩 묶어서 -> ASCII 문자로 다시 바꿔서(8bit)가 된다. 따라서 용량도 증가한다.

그런데도 왜 할까? 

 

바로 이진수로 되어있는 Bitstream 데이터를 무조건 몽땅 (영)문자로 바꿀 수 있다는게 핵심이다. 

왜 바꾸느냐? 

 

요새는 기본적으로 웹기반인데, 문제는 웹기술은 HTML 문서라고 하는 것은 기본적으로 아스키 코드로 되어있다! 

그런데, 아스키 코드로 표현할 수 없는 바이너리로 존재하는 데이터가 있다. 

작은 이미지 같은것 

 

이 이미지들을 HTML에 포함시키기 위해 Base64를 사용하는 것이다. 

 

웹페이지에 사람이 접속하고자 할때, 

HTML 문서(1K)+ 이미지(6K) 

VS 

HTML 문서(10K) 만 보낼때보다 효율이 더 좋다. 속도도 더 빠르고 용량도 더 효율적으로 활용할 수 있다. 

 

HTML, JSON도 모두 문자열로 데이터를 다루는데 

여기에 어쩔 수없이 바이너리 데이터를 삽입해야할때 Base64인코딩을 하면 굉장히 유리하기 때문에 사용한다. 

즉 효율적이라 사용하는 것이다. 

 

++ 추가 

6비트씩 자료를 자르면, 애매하게 자투리가 남는 경우가 있다. 

강제로 6비트로 늘리고, 빈 값을 Padding을 집어넣는다. 

그 Padding이== 이다. 

 


SENZCg== 
이런 것처럼 

 

디코딩할때는 Padding은 갖다버린다. 

 

직접 코딩할 일은 없다. 라이브러리도 있고 내장되어있다. 

 

 

 

'보안' 카테고리의 다른 글

암호화 vs 인코딩  (0) 2024.06.17
디스크 스케줄링 알고리즘  (0) 2024.06.17

https://www.youtube.com/watch?v=44oOQ6uY6aw

암호화와 인코딩의 차이가 무엇일까?

 

Base64 인코딩을 찾다가 발견했다. 

 

암호화와 인코딩은 둘 다 모양을 바꿔주는 것이다. 

abcd라는 문자를 이상한 문자로 바꿔주는게 암호화와 인코딩이다. 

 

두가지는 결정적인 차이가 있다. 바로 KEY! 

 

암호화는 암호화하기 암호 KEY를 이용한다. 다시 원상복구하기 위해 암호화 KEY가 필요하다

인코딩은 모양만 바꿔놓은 것이기 때문에 규칙만 알면 다시 바로 디코딩하여 원상복구를 시킬 수 있다. 

 

결론은 KEY가 있느냐 없느냐~! 

 

인코딩된 글자는 디코딩할 수 있다! 

 

Base64는 암호화 기법이 아닌 인코딩 기법이다. 

수준적, 질적 차이가 있기 때문에 명확한 구분이 필요하다~! 

 

'보안' 카테고리의 다른 글

Base64 인코딩, 디코딩, 원리, 사용하는 이유  (1) 2024.06.17
디스크 스케줄링 알고리즘  (0) 2024.06.17

운영체제의 디스크 

보조기억장치는 현재 여러가지가 있지만 아직까지 하드디스크가 주로 사용된다.

디스크를 읽는 시간은 매우 오래 걸리는 작업이고 탐색시간이 오래 걸리므로 이 시간을 줄이기 위해 디스크 스케줄링 알고리즘을 사용한다. 

 

SSTF(Shortest-Seek Time First)

- 탐색 거리가 가장 짧은 트랙에 대한 요청을 먼저 서비스함 

- 현재 Head의 위치에서 가까운 요청을 우선적으로 처리

- 장점: 전반적인 Seek Time 감소

- 단점: Starvation 현상 발생 가능 

 

Scan(엘레베이터 알고리즘)

- SSTF 가 갖는 탐색시간의 편차를 해소하기 위한 기법

- Head가 이동하는 방향의 모든 요청을 서비스하고 끝까지 이동한 후 역방향의 요청을 서비스함

 

C-Scan(Circular-Scan)

바깥쪽에서 안쪽으로 이동

- 안쪽 방향으로 끝까지 이동을 반복

- 끝까지 도달하면 바깥쪽으로 이동하여 요청을 다시 처리 

 

C-Look(Circular-Look)

- C-Scan의 보완, 대기시간을 좀 더 균형 있게 함 

- Scan 스케줄링은 0번 실린더가 존재하지 않지만 0번으로 이동한다. 하지만 Look은 비효율적인 움직임을 없애기 위해 끝까지 가지 않고 최소 범위에 도달해서 다시 최대 범위로 되돌아간다. 

- 헤드 이동 방향의 마지막 입출력 요청을 처리한 후 디스크 헤드를 처음 위치로 이동하여 다음 입출력 요청을 처리 

 

'보안' 카테고리의 다른 글

Base64 인코딩, 디코딩, 원리, 사용하는 이유  (1) 2024.06.17
암호화 vs 인코딩  (0) 2024.06.17

+ Recent posts