해시값이 뭐길래? 파일 무결성 확인의 핵심, #값 완전 정리

Bean·2025년 6월 26일

프로그래밍

목록 보기
7/49

해시값이 뭐길래? 파일 무결성 확인의 핵심, “#값” 완전 정리

“이 파일 #값이 맞는지 확인해보자.”
혹시 이런 말 들어본 적 있으신가요?

여기서 말하는 ‘#값’은 보통 해시값(hash value)을 의미합니다.
이 글에서는 해시값이 무엇인지, 왜 중요한지, 어떻게 비교하는지까지 쉽게 정리해드립니다.


1. 해시(hash)값이란?

해시값은 어떤 데이터에 해시 함수를 적용해 얻는 고정 길이의 문자열입니다.

예를 들어, 어떤 텍스트나 파일에 SHA-256 같은 해시 함수를 적용하면 아래와 같은 결과가 나옵니다:

원본 파일 → SHA-256 → 6a2da4d2b3a9… (64자리 해시값)

특징

  • 입력 데이터가 1비트만 달라도 해시값은 완전히 다르게 나옴
  • 해시값만 보고 원본을 복원할 수 없음 (단방향성)
  • 주로 파일 무결성 검사, 암호화 검증, 디지털 서명 등에 활용됨

2. 해시값 비교가 중요한 이유

파일을 다운로드했거나, 암호화/복호화 후 원본과 같아야 할 때,
해시값을 비교하면 “정확히 동일한 파일인지”를 확인할 수 있습니다.

2.1. 비교 예시

  1. 원본 파일과 복호화된 파일 각각의 해시값을 구함

  2. 두 해시값을 비교

    • 같으면 → 파일 내용이 일치
    • 다르면 → 파일이 깨졌거나, 중간에 무언가 잘못됨

3. 자주 사용하는 해시 알고리즘

해시 알고리즘비트 수특징보안성
MD5128bit빠르지만 충돌 발생 가능 → 권장 X낮음
SHA-1160bit예전에는 많이 사용됨낮음
SHA-256256bit현재 가장 널리 사용됨높음

4. 실습: 해시값 확인 명령어 (Linux/macOS)

sha256sum original_file.txt
sha256sum decrypted_file.txt

두 파일의 해시값이 정확히 같으면, 복호화 결과가 원본과 동일한 것입니다.


5. 마무리 요약

구분설명
해시값이란?데이터를 압축한 고정 길이 문자열, 1비트만 바뀌어도 완전히 달라짐
용도무결성 확인, 복호화 검증, 보안 체크 등
사용 방법SHA-256 등으로 계산 후 비교
팁리눅스는 sha256sum, 윈도우는 CertUtil 등 활용 가능

profile
AI developer

0개의 댓글