문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 해시 (문단 편집) == 쓰임 == 이러한 특성에 힘입어 다양한 목적에 맞게 설계된 해시 함수가 존재하며 다음과 같은 다양한 분야에서 매우 유용하게 사용된다. * [[자료구조]] * 해시 테이블 (또는 해시 맵) * 해시셋(set) * [[블룸 필터]](Bloom filter) * [[캐시]] * 중복 레코드 검색 * 유사 레코드 검색 * 유사 부분 문자열 검색 * 기하학적 해시 * 변조 탐지/에러 검출[* [[오픈소스]] 프로그램을 다운받을 때 md5sum, sha1sum, sha256sum 등으로 bacc82b32fe8b8b45c9225f129196943 과 같은 이상한 문자열을 같이 표기해 놓은 것을 볼 수 있다. 그 문자열이 이 목적으로 사용되는 해시값이다.] 근래에 나오는 프로그래밍 언어들은 기본 라이브러리에 암호학적 해시 함수가 포함되어 있는 경우가 많아서 굳이 구현할 필요 없이 바로바로 해시 값을 추출해서 사용할 수 있다. 다만 좀 오래된 언어들은 확장 라이브러리를 설치하거나 직접 구현하는 식으로 해결해야 한다. [[파이썬]]의 경우에도 [[자료구조#s-3|사전(dictionary)]]에 클래스를 넣기 위해서는 해시 함수를 구현해야 하는데, 해시와 함께 비교함수(cmp)도 구현해야 한다. 만약 해시 함수가 구현되어 있지 않다면 그 객체의 주소값을 해시 값으로 대체한다. 유명한 해시 알고리즘으로는 Message-Digest Algorithm(MD)[* [[MD5]]가 대표적.] 사상을 도입한 MD-N Secure Hash Algorithm([[SHA]])-N 등이 있다. 이 알고리즘은 암호학적 해시 알고리즘의 요구사항(연산량 포함), 암호학적인 취약점 등에 따라 해시 함수를 개선하여 여러 종류의 함수가 있다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기