base64
Base64는 이진 데이터를 ASCII 문자열 형식으로 나타내는 이진-텍스트 인코딩 체계입니다. 일반적으로 이미지, 오디오 파일 및 기타 이진 데이터와 같이 일반 텍스트로 안정적으로 표현할 수 없는 데이터를 전송하고 저장하는 데 사용됩니다.
Base64 인코딩 체계에서 3개의 이진 바이트(즉, 24비트)의 각 그룹은 64개의 가능한 문자 집합에서 4개의 문자로 변환됩니다. 이 64자는 영어 알파벳의 26개의 대문자와 소문자, 10개의 숫자, "+" 및 "/" 기호로 구성됩니다. 또한 "=" 기호는 인코딩된 문자열의 끝에 패딩 문자로 사용되어 마지막 바이트 그룹이 완료되지 않았음을 나타냅니다.
Base64로 인코딩된 결과 문자열은 원래 이진 데이터보다 길지만 수신자가 동일한 Base64 알고리즘을 사용하여 ASCII 텍스트로 쉽게 전송하고 원래 이진 형식으로 다시 디코딩할 수 있습니다. Base64 인코딩은 이메일 시스템, 웹 브라우저 및 이진 데이터를 텍스트로 전송해야 하는 기타 응용 프로그램에서 널리 사용됩니다.
byteToHex
ByteToHex는 이진 데이터를 16진수 문자열로 변환하기 위해 일반적으로 사용되는 함수 또는 알고리즘입니다. 이 알고리즘에서 이진 데이터의 각 바이트는 두 개의 16진수로 변환되어 원래 이진 데이터보다 두 배 긴 문자열이 됩니다.
다음은 Python에서 ByteToHex 알고리즘을 구현한 예입니다.
def byte_to_hex(byte_str):
return ''.join(['{:02x}'.format(x) for x in byte_str])
이 구현에서 입력 byte_str은 바이트 객체(또는 바이트 배열)로 가정됩니다. 이 함수는 '{:02x}'.format(x) 문자열 서식 구문을 사용하여 입력의 각 바이트를 2자리 16진수 문자열로 변환하여 각 16진수 문자열이 2개의 문자를 갖도록 합니다(바이트 값이 다음보다 작은 경우에도). 16). 결과 16진수 문자열은 최종 출력을 생성하기 위해 join() 메서드를 사용하여 연결됩니다.
예를 들어 입력 바이트 b'\x12\x34\x56\x78'로 byte_to_hex() 함수를 호출하면 16진수 문자열 '12345678'이 반환됩니다.
'CS' 카테고리의 다른 글
[네트워크] 포트(port) 란 (2) | 2023.03.07 |
---|---|
[CS] 블록 암호화, 메시지 다이제스트 차이점 (0) | 2023.03.07 |
프로세스와 쓰레드 (0) | 2023.01.19 |
스트림암호화, 블록암호화 (0) | 2023.01.18 |
[CS] 해시, 대칭키, 비대칭키(공개키) 암호화 (0) | 2023.01.18 |