해시함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시함수에 의해 얻어지는 값은 해시값, 해시코드, 해시 체크섬 또는 간단하게 해시라고 한다. 해시함수는 다음과 같은 특징이 존재한다. 다양한 가변길이의 입력에 적용될 수 있어야 하고, 고정된 길이의 출력을 생성하며, 해시 결과값으로 입력값을 계산하는 것은 불가능하다. 그리고 동일한 해시값을 갖는 서로 다른 메시지 쌍이 없다. 해시함수의 용도 중 하나는 ‘해시 테이블’이라는 ‘자료구조’에서 사용되며, 매우 빠른 데이터 검색을 위한 컴퓨터 소프트웨어에 널리 사용된다. 해시함수는 큰 파일에서 중복되는 레코드를 찾을 수 있기 때문에 데이터베이스 검색이나 테이블 검색의 속도를 올릴 수 있다. 예를 들어, DNA Sequence에서 유사한..