0
SHA256 해시를 렌더링하는 데 64자를 사용합니다. 256을 8로 나눈 값이 32이므로 왜 32가 아닌가? 바이트는 ASCII 문자로 표현되기 위해 base64로 인코딩되어야하는 원시 바이트인가?SHA256 해시의 문자 수
SHA256 해시를 렌더링하는 데 64자를 사용합니다. 256을 8로 나눈 값이 32이므로 왜 32가 아닌가? 바이트는 ASCII 문자로 표현되기 위해 base64로 인코딩되어야하는 원시 바이트인가?SHA256 해시의 문자 수
예. 바이트 값 128-255는 ASCII 코드 단위의 일부가 아닙니다. ASCII에는 128 코드 포인트 만 있으므로 매핑이 무엇이든 상관없이 모든 256 바이트 값을 포함 할 수는 없습니다.
그러나 Base16을 사용하는 진정한 이유는 모든 문자를 인쇄/표시 할 수 있고 그 중 아무 것도 제어 문자 (문자 세트 및 인코딩과 상관없이) 또는 프로그래밍 언어 및 문서의 리터럴 문자열 구분 기호로 사용되는 따옴표 문자가 아니기 때문입니다 형식. 이를 통해 문맥의 규칙을 위반하지 않고 많은 컨텍스트를 그대로 통과 할 수 있습니다.
그 목표를 달성하는 다른 방법이 있습니다. 하나는 Base64입니다.
가능한 복제본 [SHA256 해시는 항상 64자를 가질 수 있습니까?] (http://stackoverflow.com/questions/3064133/will-a-sha256-hash-always-have-64-characters) – wkl