암호학에서 해시(hash)라는 단어는 어떤 데이터가 해시 함수에 제출(매핑)된 후 생성되는 출력을 의미한다. 단순히 해시라고도 하지만, 해시 함수가 생성한 출력은 해시 값(hash value), 해시 코드(hash code), 또는 다이제스트(digest)라고도 불릴 수 있다.
해시가 무엇인지 더 잘 이해하기 위해서는 해시 함수가 무엇이며 어떻게 작동하는지에 대해 논의할 가치가 있다.
해시 함수는 입력값의 크기에 상관없이 이를 고정된 크기의 출력값(해시)으로 변환하는 수학적 알고리즘이다. 대부분의 경우 출력은 16진수 숫자로 구성된다. 이는 해시가 종종 숫자(0부터 9까지)와 문자(a부터 f까지)의 조합으로 표현된다는 것을 의미한다.
예를 들어, "Binance"라는 단어를 입력값으로 사용하고 이를 SHA-256 해시 함수에 매핑하면, 반환되는 출력값(또는 해시)은 다음과 같다:
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
이 작업을 몇 번 반복하더라도 출력은 항상 동일하다는 점에 주목하라(입력이 변경되지 않는 한).
반면, 입력에 아주 작은 변화만 주더라도 해시 함수는 전혀 다른 해시를 출력으로 반환한다. 예를 들어, "Binance" 대신 "Binance"라는 단어를 제출하면 결과로 다음과 같은 해시가 생성된다:
59bba357145ca539dcd1ac9571ec5833319ddcae7f5e8b5da0c36624784b2
해시는 특정 정보를 공개하지 않고도 그 정보의 유효성을 검증하는 데 유용하다. 실제로 해시 함수는 다양한 시나리오에 적용될 수 있다. 몇 가지 사용 사례로는 데이터베이스 조회, 대용량 파일 분석, 그리고 데이터 관리 등이 있다.
해시 함수가 암호화 기술과 결합되면 이를 암호화 해시 함수(cryptographic hash functions)라고 한다. 이러한 함수는 정보 보안에서 광범위하게 사용되며, 대부분의 블록체인 네트워크에서 필수적인 요소이다.
예를 들어, 비트코인 블록체인에는 해시와 관련된 많은 작업들이 있으며, 이는 채굴 과정에서 매우 중요하다.


















