의견.png

해시

위키원
Asadal (토론 | 기여)님의 2019년 5월 22일 (수) 15:15 판
이동: 둘러보기, 검색

해시(hash, 哈希)란 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값이다. 해시값이라고도 한다. '해쉬'가 아니라 '해시'가 올바른 표기법이다. 해시는 블록체인(blockchain)을 구현하기 위한 핵심 기술이다.

해시함수(hash function)는 결정론적으로 작동하기 때문에, 원래의 데이터가 같으면 해시값도 항상 동일하다. 하지만 서로 다른 데이터가 동일한 해시값을 가질 수 있기 때문에 해시충돌이 발생할 수 있다.

해시 테이블(hash table)은 키와 값을 매핑해 둔 데이터 구조이다. 해시함수를 이용하여 검색하고자 하는 값을 변환하면 그 값이 저장된 위치를 즉시 알아낼 수 있다. 데이터의 양이 아무리 많아지더라도 원리적으로 해시 변환과 검색에 걸리는 시간은 항상 동일하다. 따라서 방대한 데이터에서 특정한 값을 검색할 때 해시 테이블을 사용하면 검색 시간을 획기적으로 단축할 수 있다. 해시 맵(hash map)은 기존 해시 테이블의 기능을 개선한 신 버전의 해시 테이블이다.

해싱(hashing)이란 해시함수를 사용하여 주어진 값을 변환한 뒤, 해시 테이블에 저장하고 검색하는 기법을 말한다. 해싱에 사용되는 자료구조배열(array)과 연결 리스트(linked list)가 조합된 형태이다.

활용

해시는 블록체인IPFS 등 다양한 분야에서 활용되고 있다.

해시값을 자동으로 계산해서 알려주는 사이트로 깃허브온라인툴즈가 있다. 온라인툴즈(Online Tools)는 알려진 거의 모든 해시함수를 사용하여, 실시간으로 해시값을 계산해 주는 깃허브의 웹페이지이다.

참고자료

같이 보기


  의견.png 이 해시 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.