MD5 해시 생성기

md5sum, openssl dgst -md5certutil -hashfile와 정확히 동일한 32자리 16진수 MD5 체크섬을 생성합니다. 다운로드 페이지에 MD5 값이 게시되어 있을 때, CLI 도구를 설치하지 않고도 파일의 일치 여부를 확인할 수 있어 유용합니다. 텍스트 입력은 UTF-8 바이트로 처리되어 유닉스 도구와 동일하게 동작하며, 파일 입력은 스트리밍 방식으로 처리되어 대용량 파일도 메모리에 담아 처리할 수 있습니다.

파일의 체크섬을 확인하는 방법

  1. 1

    다운로드한 파일을 끌어다 놓으세요

    이 도구는 데이터를 여러 조각으로 나누어 MD5 함수를 통해 스트리밍 처리합니다.

  2. 2

    디지스트가 완료될 때까지 기다려 주세요.

    대부분의 장치에서는 약 몇 MB/s 수준이며, 500 MB 규모의 ISO 파일을 처리하는 데는 약 30~60초가 소요됩니다.

  3. 3

    공개된 체크섬과 비교하십시오

    예상되는 해시 값을 복사하여 붙여넣으세요. 도구는 색상으로 일치/불일치를 표시합니다.

  4. 4

    일치하지 않으면 실행하지 마세요

    해시 값이 다르면 파일이 손상되었거나 변조된 것입니다. 신뢰할 수 있는 출처에서 다시 다운로드하세요.

표준 출력 형식

MD5는 128비트의 결과를 생성하며, 일반적으로 소문자로 된 32개의 16진수 문자로 표기됩니다.

9e107d9d372bb6826bd81d3542a419d6

Unix md5sum는 두 개의 공백을 포함한 <hash> <filename> 형태로 출력됩니다. GNU Core Utilities는 -c(체크) 플래그에 대해 이 형식을 기대합니다.

텍스트 모드 대 파일 모드

  • 텍스트 입력은 해싱 전에 UTF-8로 인코딩됩니다. 이는 유닉스에서의 echo -n "text" | md5sum와 일치합니다. Windows PowerShell의 Get-FileHash는 사용자가 지정하지 않는 한 기본적으로 UTF-16을 사용하므로 두 값이 서로 다를 수 있습니다.
  • 파일 입력은 바이트 단위로 해시 처리됩니다. 파일에 어떤 내용이 포함되어 있든 인코딩 변환은 전혀 이루어지지 않습니다. 브라우저와 CLI 도구는 항상 동일한 파일 해시 값을 사용합니다.

게시된 체크섬과 일치시키기

대부분의 다운로드 페이지는 해시값과 파일 이름을 함께 게시합니다.

md5sum: 9e107d9d372bb6826bd81d3542a419d6  yourfile.iso
  • 정확한 파일을 다운로드했는지 확인하십시오(일부 공급업체는 각 변형별 해시 값을 제공합니다: x86_64와 ARM).
  • 체크섬 정보의 출처를 신뢰해야 합니다. 동일한 침해된 페이지에 있는 MD5 링크는 무의미합니다. 가능하다면 GPG 서명이 적용된 SHA256SUMS 파일과 비교하여 확인하십시오.

불일치의 주요 원인들

  • 부분 다운로드, 브라우저가 중단되어 잘못 재개되었습니다.
  • 다른 버전, 미러에 있는 버전이 체크섬이 약속하는 버전과 다릅니다.
  • 잘못된 파일 선택 (ISO 파일 대신 .sig 파일을 해시 처리했습니다).
  • 압축 또는 재형식화, .tar.gz 파일과 동일한 추출된 디렉터리는 완전히 다른 해시 값을 가지고 있습니다.
  • 실제 조작, 드물지만 체크섬이 존재하는 이유입니다.

속도

MD5는 매우 빠릅니다. 지난 5년간 출시된 노트북의 MD5 해시 속도는 400MB/s 이상입니다. 브라우저에서 파일을 해시하는 과정에서의 병목 현상은 일반적으로 계산 처리가 아니라 디스크 I/O에 있습니다.

MD5만으로는 부족할 때

보안에 민감한 무결성(다운로드한 설치 프로그램이 악성코드로 대체되지 않았는지 확인하는 경우)을 확보하려면 SHA-256을 사용하는 것이 권장됩니다. MD5의 충돌은 계산하기 매우 간단합니다. 대부분의 현대 프로젝트에서는 두 알고리즘 모두를 함께 공개하고 있습니다.

자주 묻는 질문

PowerShell의 Get-FileHash는 기본적으로 MD5가 아닌 SHA-256을 사용합니다. 공개된 MD5 값과 일치시키려면 Get-FileHash -Algorithm MD5 file.iso를 사용하십시오.

대부분의 현대 브라우저는 최대 약 2GB까지의 파일을 원활하게 스트리밍할 수 있습니다. 더 큰 파일(DVD, 디스크 이미지)의 경우 리눅스에서는 md5sum file, 윈도우에서는 Get-FileHash -Algorithm MD5라는 CLI 도구를 사용하세요.

.md5 파일은 일반적으로 한 줄로 구성되어 있습니다. 이 줄에는 16진수 해시 값 뒤에 두 개의 공백이 붙고, 그 뒤에 파일 이름이 표기됩니다. md5sum -c checksum.md5와 같은 도구들은 이 줄을 읽어 검증합니다. 16진수 부분만이 원시 해시 값입니다.

네, MD5 충돌은 의도적으로 생성하는 데 매우 간단합니다. 실제 파일 간의 우연한 충돌 가능성은 약 2^64분의 1로 극히 낮습니다. 적대적인 공격에 대한 충돌 저항성은 SHA-256을 사용하는 것이 좋습니다.

아니요, 해싱은 WebCrypto API와 타입된 배열 데이터를 사용하여 완전히 브라우저 내에서 실행됩니다. 파일들은 결코 사용자의 기기에서 나가지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다