임의의 길이의 입력 데이터를 고정된 길이의 해시 값으로 변환하는 함수입니다. 해시 함수는 다음과 같은 특징을 갖습니다.
- 고정된 출력 길이: 입력 데이터의 길이에 상관없이 고정된 길이의 해시 값을 생성합니다.
- 결정론적: 동일한 입력은 항상 동일한 해시 값을 생성합니다.
- 충돌 회피: 다른 입력이 동일한 해시 값을 가지는 확률이 매우 낮습니다. (하지만 발생하기 때문에 이를 해결하기 위한 메커니즘으로 Chaining, Open Addressing 등이 있다.)
- 역상 저항성: 해시 값으로부터 원래 입력 값을 추측하는 것이 매우 어렵습니다.
비밀번호 저장, 블록체인, 데이터 무결성 검증 등에 주로 활용 됩니다.