---
title: "해시 함수"
title_en: "Hash Function"
type: 용어
url: https://wiki.tokenpost.kr/w/hash-function
canonical: https://wiki.tokenpost.kr/w/hash-function
language: ko
publisher: "토큰포스트"
updated: 2026-08-06T03:08:42.059+00:00
created: 2026-08-06T03:08:43.495157+00:00
same_as: ["https://ko.wikipedia.org/wiki/%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98", "https://en.wikipedia.org/wiki/Hash_Function"]
status: draft
---

# 해시 함수
> Hash Function

> **인용 전에 확인해 주세요.** 이 문서는 자동으로 만든 초안이며 사람의
> 검수를 거치지 않았습니다. 사실 관계는 아래 각주의 원문으로 확인해 주세요.

**분류**: 용어

해시 함수는 임의 길이의 입력 데이터를 고정된 길이의 값으로 변환하는 함수로, 같은 입력에 대해 항상 같은 결과를 내놓는다.

## 1. 개요

해시 함수(hash function)는 임의의 길이를 가진 입력 데이터를 받아 고정된 길이의 출력값으로 변환하는 함수이다. 이 출력값을 해시값(hash value) 또는 해시라고 부르며, 변환하는 과정을 [해싱](https://wiki.tokenpost.kr/w/hashing)이라고 한다. 예를 들어 한 문장을 넣든 책 한 권 분량의 문서를 넣든, 특정 해시 함수는 항상 동일한 자릿수의 값을 만들어낸다.

해시 함수는 크게 세 가지 성질을 가진다. 첫째, 결정성으로 같은 입력을 넣으면 언제나 같은 해시값이 나온다. 둘째, 계산이 빠르다. 셋째, 입력이 아주 조금만 바뀌어도 출력값이 전혀 다르게 변한다. 이 때문에 데이터가 위·변조되었는지 확인하는 무결성 검증에 널리 쓰인다.

특히 [암호학](https://wiki.tokenpost.kr/w/cryptography)에서 사용되는 암호학적 해시 함수는 추가로 두 가지 성질을 요구한다. 하나는 해시값만 보고 원래 입력을 되돌릴 수 없다는 단방향성이고, 다른 하나는 같은 해시값을 갖는 서로 다른 두 입력을 찾기가 사실상 불가능하다는 충돌 저항성이다. 대표적인 예로 [SHA](https://wiki.tokenpost.kr/w/sha) 계열이 있으며, 과거에 널리 쓰였던 [MD5](https://wiki.tokenpost.kr/w/md5)는 충돌 취약점이 발견되어 보안 용도로는 권장되지 않는다.

## 2. 쓰임새

해시 함수는 정보 기술 전반에서 폭넓게 활용된다. 비밀번호를 원문 그대로 저장하지 않고 해시값으로 바꿔 저장하면, 데이터베이스가 유출되더라도 원래 비밀번호를 곧바로 알아내기 어렵다. 또한 파일을 내려받을 때 제공된 해시값과 비교하여 파일이 손상되거나 변조되지 않았는지 확인하는 데도 쓰인다. 이 밖에 대량의 데이터를 빠르게 찾기 위한 해시 테이블 같은 자료 구조에서도 핵심 역할을 한다.

[전자서명](https://wiki.tokenpost.kr/w/digital-signature)에서도 해시 함수가 사용된다. 문서 전체가 아니라 문서의 해시값에 서명함으로써, 서명 과정을 효율적으로 처리하면서도 문서가 바뀌면 검증에 실패하도록 만든다.

## 3. 블록체인과의 관계

해시 함수는 [블록체인](https://wiki.tokenpost.kr/w/blockchain) 기술의 근간을 이룬다. 각 블록은 이전 블록의 해시값을 담고 있어, 블록들이 사슬처럼 연결된다. 어느 한 블록의 내용을 조금이라도 바꾸면 그 해시값이 달라지고, 이후의 모든 블록과 연결이 어긋나므로 위·변조가 즉시 드러난다. 이러한 구조가 분산된 장부의 신뢰성을 뒷받침한다.

또한 비트코인 등의 [작업증명](https://wiki.tokenpost.kr/w/proof-of-work) 방식 [채굴](https://wiki.tokenpost.kr/w/mining)은 특정 조건을 만족하는 해시값을 찾을 때까지 [논스](https://wiki.tokenpost.kr/w/nonce)를 바꿔가며 반복 계산하는 과정이다. 블록 안의 거래들을 효율적으로 요약하는 [머클 트리](https://wiki.tokenpost.kr/w/merkel-tree) 역시 해시 함수를 반복 적용해 구성된다. 이더리움 등에서 쓰이는 [케차크](https://wiki.tokenpost.kr/w/keccak)도 이러한 암호학적 해시 함수의 한 종류이다.

---

같은 개체: [위키백과(한국어)](https://ko.wikipedia.org/wiki/%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98) · [Wikipedia(EN)](https://en.wikipedia.org/wiki/Hash_Function)

원문: https://wiki.tokenpost.kr/w/hash-function
최종 수정: 2026-08-06T03:08:42.059+00:00
발행: 토큰포스트 위키. 인용할 때 문서 제목과 원문 주소를 함께 밝혀 주세요.