해시 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''해시'''(hash)란 다양한 길이를 가진 [[데이터]]를 고정된 길이를 가진 데이터로 [[매핑]](mapping)한 값이다. 이를 이용해 특정한 배열의 인덱스나 위치나 위치를 입력하고자 하는 데이터의 값을 이용해 저장하거나 찾을 수 있다. 기존에 사용했던 자료 구조들은 탐색이나 삽입에 선형시간이 걸리기도 했던것에 비해, 해시를 이용하면 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더욱 빠른 속도로 처리할 수 있다. '''해시값'''이라고도 한다. '해쉬'가 아니라 '해시'가 올바른 표기법이다. 중국어로는 '''하시'''(哈希, 합희, {{발음|hā xī}})라고 한다. 해시는 암호학에 있어서 매우 중요한 요소이며, [[블록체인]](blockchain)을 구현하기 위한 핵심 기술이다.
+
'''해시'''(hash)란 다양한 길이를 가진 [[데이터]]를 고정된 길이를 가진 데이터로 [[매핑]](mapping)한 값이다. 중국어로는 '''하시'''(哈希, 합희, {{발음|hā xī}})라고 한다. 이를 이용해 특정한 배열의 인덱스나 위치나 위치를 입력하고자 하는 데이터의 값을 이용해 저장하거나 찾을 수 있다. 기존에 사용했던 자료 구조들은 탐색이나 삽입에 선형시간이 걸리기도 했던것에 비해, 해시를 이용하면 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더욱 빠른 속도로 처리할 수 있다. '''해시값'''이라고도 한다. '해쉬'가 아니라 '해시'가 올바른 표기법이다. 해시는 암호학에 있어서 매우 중요한 요소이며, [[블록체인]](blockchain)을 구현하기 위한 핵심 기술이다.  
  
 
== 특징 ==
 
== 특징 ==
28번째 줄: 28번째 줄:
  
 
=== 해싱 ===
 
=== 해싱 ===
[[해싱]](hashing)이란 해시함수를 사용하여 주어진 값을 변환한 뒤, 해시 테이블에 저장하고 검색하는 기법을 말한다. 해싱에 사용되는 [[자료구조]]는 [[배열]](array)과 [[연결리스트]](linked list)가 조합된 형태이다. 짧은 해시 키를 사용하여 항목을 찾으면, 원래의 값을 이용하여 찾는 것보다 더 빠르기 때문에, 해싱은 [[데이터베이스]] 내의 항목들을 색인하고 검색하는데 사용된다. <ref>Vangie Beal, 〈[https://www.webopedia.com/TERM/H/hashing.html hashing]〉, 《웨보피디아》</ref> 해싱은 데이터들을 저장하거나 찾을 때 인덱스(index)라는 또다른 데이터 스트럭쳐를 이용하는 대신, 각 데이터들이 테이블의 어느 영역에 위치할 것인가를 결정해주는 해시함수를 사용하여 일정한 시간 내에 데이터들을 효과적으로 찾을 수 있도록 해주는 것이다. 따라서 데이터들은 순차적으로 저장되는 것이 아니라 테이블 전 영역에 걸쳐서 골고루 분포하게 되며, 저장된 데이터를 찾을 때에도 해시함수를 사용하면 곧바로 그 위치를 알아내는 것이 가능하기 때문에 매우 빠른 속도로 데이터를 검색할 수가 있게 된다. <ref>Omnis, 〈[https://omnis.tistory.com/entry/Hashing-%EC%9D%B4%EB%9E%80 Hashing 이란?]〉, 《티스토리》, 2012-04-09</ref>
+
[[해싱]](hashing)이란 해시함수를 사용하여 주어진 값을 변환한 뒤, 해시 테이블에 저장하고 검색하는 기법을 말한다. 해싱에 사용되는 [[자료구조]]는 [[배열]](array)과 [[연결 리스트]](linked list)가 조합된 형태이다. 짧은 해시 키를 사용하여 항목을 찾으면, 원래의 값을 이용하여 찾는 것보다 더 빠르기 때문에, 해싱은 [[데이터베이스]] 내의 항목들을 색인하고 검색하는데 사용된다. <ref>Vangie Beal, 〈[https://www.webopedia.com/TERM/H/hashing.html hashing]〉, 《웨보피디아》</ref> 해싱은 데이터들을 저장하거나 찾을 때 인덱스(index)라는 또다른 데이터 스트럭쳐를 이용하는 대신, 각 데이터들이 테이블의 어느 영역에 위치할 것인가를 결정해주는 해시함수를 사용하여 일정한 시간 내에 데이터들을 효과적으로 찾을 수 있도록 해주는 것이다. 따라서 데이터들은 순차적으로 저장되는 것이 아니라 테이블 전 영역에 걸쳐서 골고루 분포하게 되며, 저장된 데이터를 찾을 때에도 해시함수를 사용하면 곧바로 그 위치를 알아내는 것이 가능하기 때문에 매우 빠른 속도로 데이터를 검색할 수가 있게 된다. <ref>Omnis, 〈[https://omnis.tistory.com/entry/Hashing-%EC%9D%B4%EB%9E%80 Hashing 이란?]〉, 《티스토리》, 2012-04-09</ref>
  
 
== 해시 방법 ==
 
== 해시 방법 ==
91번째 줄: 91번째 줄:
 
기수변환법은 어떤 진법으로 표현된 주어진 레코드 키를 다른 진법으로 간주하고 키를 변환하여 홈 주소를 얻는 방법으로, 어떤 키 값이 16진법으로 표현되어 있다면 이를 10진법으로 표현된 것으로 간주하고 키 값을 변환하여 해당 레코드의 홈 주소를 구한다. 해시 테이블의 크기가 10의 멱승으로 표현되어 변환된 해당 레코드의 주소 값이 테이블의 크기를 초과할 때는 주소 값의 최하위 자리부터 해시 테이블의 크기가 허용하는 멱승수만큼 취하여 해당 레코드의 홈 주소로 사용한다.
 
기수변환법은 어떤 진법으로 표현된 주어진 레코드 키를 다른 진법으로 간주하고 키를 변환하여 홈 주소를 얻는 방법으로, 어떤 키 값이 16진법으로 표현되어 있다면 이를 10진법으로 표현된 것으로 간주하고 키 값을 변환하여 해당 레코드의 홈 주소를 구한다. 해시 테이블의 크기가 10의 멱승으로 표현되어 변환된 해당 레코드의 주소 값이 테이블의 크기를 초과할 때는 주소 값의 최하위 자리부터 해시 테이블의 크기가 허용하는 멱승수만큼 취하여 해당 레코드의 홈 주소로 사용한다.
 
  예) 해시 테이블의 크기 = 100000
 
  예) 해시 테이블의 크기 = 100000
  십진수로 입력된 키 값(132548) 10을 16진수로 간주하여 그 값을 다시 10진수로 계산하는 기수 변환법을 이용하여 홈 주소를 구하시오.
+
  십진수로 입력된 키 값(B2538) 10을 16진수로 간주하여 그 값을 다시 10진수로 계산하는 기수 변환법을 이용하여 홈 주소를 구하시오.
 
  <math>(1*16^{5})+(3*16^{4})+(2*16^{3})+(5*16^{2})+(4*16^{1})+(8*16^{0}) </math> <br> <math> = 1048576+196608+8192+1280+64+8=(1254728)_{10}</math>
 
  <math>(1*16^{5})+(3*16^{4})+(2*16^{3})+(5*16^{2})+(4*16^{1})+(8*16^{0}) </math> <br> <math> = 1048576+196608+8192+1280+64+8=(1254728)_{10}</math>
 
  홈 주소 = 4728(레코드의 주소값에서 해시 테이블이 허용하는 하위 4자리를 선택한다)
 
  홈 주소 = 4728(레코드의 주소값에서 해시 테이블이 허용하는 하위 4자리를 선택한다)
102번째 줄: 102번째 줄:
  
 
== 해시라는 단어가 포함된 회사명 ==
 
== 해시라는 단어가 포함된 회사명 ==
{{로고블록100
 
|해시넷||해시드||해시캐시||에듀해시||헤데라 해시그래프|헤데라<br>해시그래프|해시가드||해시캐피탈||해시플레어||나이스해시|<!--|맥스해시|-->|희망해시|<!--|해시래빗|-->|해시쉐어|<!--|해시시티|-->|해시래빗||해시볼트||해시팟||해시피시||해시쿼크||해시허브||}}
 
 
 
회사명에 '해시'(hash)라는 단어를 사용한 사례는 다음과 같다.
 
회사명에 '해시'(hash)라는 단어를 사용한 사례는 다음과 같다.
 
* '''[[해시넷]]'''(Hashnet) : 한국의 블록체인 및 암호화폐 정보 포털 사이트를 운영하는 회사이다. 오프라인 밋업과 콘퍼런스도 진행하고 있다.
 
* '''[[해시넷]]'''(Hashnet) : 한국의 블록체인 및 암호화폐 정보 포털 사이트를 운영하는 회사이다. 오프라인 밋업과 콘퍼런스도 진행하고 있다.
 
* '''[[해시드]]'''(Hashed) : 한국의 블록체인 및 암호화폐 전문 투자업체이다. 한국 1위의 [[크립토펀드]]이다.
 
* '''[[해시드]]'''(Hashed) : 한국의 블록체인 및 암호화폐 전문 투자업체이다. 한국 1위의 [[크립토펀드]]이다.
* '''[[해시캐시]]'''(Hashcash) : 1997년 [[아담 백]](Adam Back)이 스팸메일과 서비스 거부(DoS) 공격을 제한하기 위해 사용한 [[작업증명]](PoW) 시스템이다.
 
 
* '''[[에듀해시]]'''(Eduhash) : 교육 분야에 블록체인 기술을 적용한 회사이다.
 
* '''[[에듀해시]]'''(Eduhash) : 교육 분야에 블록체인 기술을 적용한 회사이다.
* '''[[헤데라 해시그래프]]'''(Hedera Hashgraph) : 해시그래프 기반의 플랫폼을 만드는 미국의 개발 회사이다.
 
 
* '''[[해시가드]]'''(Hashgard) : 블록체인 기반의 자산관리 서비스를 위한 중국의 암호화폐 프로젝트이다.
 
* '''[[해시가드]]'''(Hashgard) : 블록체인 기반의 자산관리 서비스를 위한 중국의 암호화폐 프로젝트이다.
* '''[[해시캐피탈]]'''(Hash Capital) : 블록체인 투자를 전문적으로 진행하는 중국의 투자업체이다.
 
* '''[[해시플레어]]'''(HashFlare) : 영국 스코틀랜드에 있는 클라우드 마이닝 채굴 회사이다.
 
* '''[[나이스해시]]'''(Nicehash) : 동유럽의 슬로베니아에 있는 마이닝풀이다.
 
* '''[[맥스해시]]'''(Maxhash) : 다중 암호화폐 마이닝풀이다. 채굴장은 미국과 유럽에 있다.
 
* '''[[지해시아이오]]'''(GHash.io) : 네덜란드에 있는 비트코인 채굴 풀이다.
 
* '''[[희망해시]]'''(Hopehash) : 전 세계 여러 나라에 채굴장을 마련하여 클라우드 마이닝 서비스를 제공하는 한국의 채굴업체이다.
 
* '''[[해시래빗]]'''(HashRabbit) : 미국 캘리포니아 주에 있는 암호화폐 채굴업체이다.
 
* '''[[해시볼트]]'''(Hashvault) : [[크립토노트]](CryptoNote) 기반의 마이닝풀이다.
 
* '''[[해시쉐어]]'''(Hashshare) : [[마스터노드]]에 [[비트코인]] 채굴 시스템을 결합한 암호화폐 프로젝트이다.
 
* '''[[해시시티]]'''(Hashcity) : [[조지아]]의 [[트빌리시]]에 있는 다중 암호화폐 채굴 [[마이닝풀]]이다.
 
* '''[[해시쿼크]]'''(Hashquark) : 중국의 채굴업체이다.
 
* '''[[해시팟]]'''(Hash Pot) : 중앙아시아의 저렴한 전기요금을 이용한 비트코인 [[채굴]] 서비스를 위한 한국의 암호화폐 프로젝트이다.
 
* '''[[해시허브]]'''(HashHub) : 일본 도쿄에 본사를 둔 블록체인 스튜디오이다. 대표이사는 준야 히라노(Junya Hirano)이다.
 
  
 
{{각주}}
 
{{각주}}
141번째 줄: 123번째 줄:
  
 
{{블록체인 기술|검토 필요}}
 
{{블록체인 기술|검토 필요}}
{{암호 알고리즘}}
 
{{데이터}}
 
  
 
[[분류:블록체인]]
 
[[분류:블록체인]]
 
[[분류:알고리즘]]
 
[[분류:알고리즘]]
 
[[분류:암호학]]
 
[[분류:암호학]]

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)