본문 바로가기
Python/Python FAQ

Python 파일의 MD5 체크섬 생성, Generating an MD5 checksum of a file

by 베타코드 2023. 11. 11.
반응형

질문


파이썬에서 파일 목록의 MD5 체크섬을 생성하고 확인하는 간단한 방법이 있을까요? (작업 중인 작은 프로그램이 있고, 파일의 체크섬을 확인하고 싶습니다).


답변


당신은 hashlib.md5()을(를) 사용할 수 있습니다.

가끔 전체 파일을 메모리에 넣을 수 없을 때가 있습니다. 그런 경우에는 4096바이트의 청크를 순차적으로 읽고 md5 메서드에 전달해야 합니다:

import hashlib
def md5(fname):
    hash_md5 = hashlib.md5()
    with open(fname, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
    return hash_md5.hexdigest()

참고: hash_md5.hexdigest()은 다이제스트의 16진수 문자열 표현을 반환합니다. 만약 패킹된 바이트만 필요하다면 return hash_md5.digest()를 사용하여 다시 변환할 필요가 없습니다.

반응형

댓글