해시함수란,
알고리즘의 한 종류로서 임의의 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수이다.
해시함수는 3가지의 특징을 갖는다.
- 출력값을 계산하여 입력값을 알아낼 수 없고, 반대로 입력값을 이용하여 출력값을 알아낼 수도 없다. (암호화는 가능하지만 복호화는 불가능)
- 하나의 입력값은 항상 같은 출력값을 갖는다.
- 임의의 입력값 비트열을 고정된 길이의 비트열로 변환시킨다.
블록체인에서 많이 사용하는 해시함수 SHA256은 어떤 길이의 입력값을 넣어도 항상 256비트의 결과값이 나온다.