본문 바로가기
리눅스

md5sum

by 다움위키 2023. 12. 21.

md5sum은 RFC 1321에 설명된 것처럼 128-비트 MD5 해시를 계산하고 검증하는 컴퓨터 프로그램입니다. MD5 해시는 파일의 압축된 디지털 지문으로 작동합니다. 모든 그러한 해싱 알고리듬과 마찬가지로, 이론적으로 주어진 MD5 해시를 가질 파일의 수에는 제한이 없습니다. 어쨌든, 실제 세계에서 임의의 둘의 동일하지 않은 파일이 같은 해시를 갖도록 특별히 생성되지 않는 한 같은 MD5 해시를 가질 가능성은 매우 낮습니다.

기본 MD5 알고리듬은 더 이상 안전한 것으로 여겨지지 않습니다. 따라서 md5sum은 보안과 관련이 없는 상황에서 알려진 파일을 식별하기 위해 적합하지만, 파일이 고의적이고 악의적으로 변조되었을 가능성이 있으면 그것에 의존해서는 안 됩니다. 후자의 경우에서, sha256sum과 같은 최신 해싱 도구를 사용하는 것이 추천됩니다.

md5sum는 파일의 무결성을 확인하는 데 사용되는데, 왜냐하면 파일에 대한 사실상 임의의 변경은 MD5 해시를 변경하게 되는 원인이 될 것입니다. 가장 공통적으로, md5sum은 잘못된 파일 전송, 디스크 오류 또는 악의적이지 않은 간섭의 결과로 파일이 변경되지 않았는지 확인하기 위해 사용됩니다. md5sum 프로그램은 대부분의 유닉스-계열 운영 시스템 또는 Cygwin과 같은 호환성 계층에 포함되어 있습니다.

원래 C 코드는 Ulrich Drepper에 의해 작성되었고 glibc의 2001년 릴리스에서 추출했습니다.

Examples

다음 파일의 모두는 현재 디렉토리에 있다고 가정합니다.

Create MD5 hash file hash.md5

$ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5

File produced

파일은 해시와 파일이름 쌍을 포함하고 있습니다:

$ cat hash.md5
595f44fec1e92a71d3e9e77456ba80d1  filetohashA.txt
71f920fa275127a7b60fa4d4d41432a3  filetohashB.txt
43c191bf6d6c3f263a8cd0efd4a058ab  filetohashC.txt

주목하십시오:

  • 비교할 각 md5sum 값과 파일 이름 사이에는 두 개의 스페이스 또는 하나의 스페이스와 별표가 있어야 합니다 (두 번째 스페이스는 텍스트 모드, 별표는 바이너리 모드를 나타냅니다). 그렇지 않으면, 다음 오류가 발생합니다: no properly formatted MD5 checksum lines found. 많은 프로그램이 두 모드를 구분하지 않지만 일부 유틸리티는 구분합니다.
  • 파일은 UNIX 줄 끝 형식이어야 합니다. 그렇지 않으면, 이것은 다음과 같이 표시됩니다: md5sum: WARNING: x listed files could not be read. dos2unix는 그것이 DOS/Windows 형식이면 빠르게 그것을 변환할 것입니다.

Check MD5

$ md5sum -c hash.md5
filetohashA.txt: OK
filetohashB.txt: OK
filetohashC.txt: OK

Check single MD5

$ echo 'D43F2404CA13E22594E5C8B04D3BBB81  filetohashA.txt' | md5sum -c
filetohashA.txt: OK

On non-GNU systems

md5sum은 GNU coreutils 또는 BusyBox와 같은 클론을 사용하는 시스템에 해당합니다. FreeBSDOpenBSD에서, 그 유틸리티는 md5, sha1, sha256, 및 sha512라고 합니다. 이들 버전은 약간 다른 옵션과 기능을 제공합니다. 추가적으로, FreeBSD는 메시지 다이제스트의 "SKEIN" 가족을 제공합니다.

External links