md5sum

agnusdei·2025년 8월 31일

CTF

목록 보기
74/185

1️⃣ md5sum 명령어란?

  • 설명: 리눅스/유닉스 계열에서 파일이나 문자열의 **MD5 해시값(체크섬, digest)**을 계산하는 명령어
  • 목적: 파일의 무결성(변조 여부)을 확인하거나, 데이터 일관성을 검증할 때 사용

2️⃣ 사용 이유

  1. 파일 무결성 확인

    • 다운로드한 파일이 원본과 동일한지 비교
  2. 데이터 변조 탐지

    • 파일이 중간에 바뀌었는지 확인
  3. 간단한 식별자 생성

    • 파일 이름이나 경로 대신 **고유 식별자(hash)**로 사용 가능

참고: MD5는 암호학적으로 안전하지 않음. 해시 충돌이 가능하므로 중요한 보안 검증에는 SHA-256, SHA-512 사용 권장


3️⃣ 사용법

3-1. 기본 사용법

md5sum 파일명
  • 예시:
md5sum extracted_image.jpg
  • 출력 예시:
d41d8cd98f00b204e9800998ecf8427e  extracted_image.jpg
  • 의미:

    • 왼쪽: MD5 해시값
    • 오른쪽: 파일 이름

3-2. 여러 파일 체크섬 계산

md5sum file1.txt file2.txt file3.txt
  • 각 파일에 대한 MD5 해시값이 각각 출력됨

3-3. 체크섬 파일 생성 및 검증

  1. 체크섬 파일 생성
md5sum *.zip > checksum.md5
  1. 체크섬 검증
md5sum -c checksum.md5
  • 결과: OK → 원본과 동일, FAILED → 변조됨

3-4. 문자열의 MD5 해시 계산

echo -n "Hello World" | md5sum
  • -n 옵션: echo의 줄바꿈 제거
  • 출력: 문자열 "Hello World"의 MD5 해시값

4️⃣ MD5 원리 간단 설명

  1. MD5(Messaging Digest 5) 알고리즘은 입력 데이터를 128비트 해시값으로 변환

  2. 단방향 함수:

    • 해시값으로 원본 데이터를 역산할 수 없음
  3. 특징:

    • 동일한 입력 → 항상 동일한 해시
    • 입력 1비트 차이 → 해시값 완전히 다름
  4. 용도:

    • 데이터 무결성 확인
    • 디지털 지문 생성

⚠️ 단점: MD5는 충돌 가능성(서로 다른 데이터가 같은 해시값) 때문에 암호학적 보안에는 취약함


5️⃣ 요약 표

항목내용
명령어md5sum
사용 목적파일 무결성 확인, 변조 탐지, 고유 식별자 생성
기본 사용법md5sum 파일명
체크섬 파일 생성md5sum *.zip > checksum.md5
체크섬 검증md5sum -c checksum.md5
문자열 해시`echo -n "text"md5sum`
원리입력 데이터를 128비트 해시값으로 변환, 단방향, 고유 식별자 역할
주의암호학적 안전성 낮음 → 보안 검증용으로는 SHA-256 등 사용 권장

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글