반응형
질문
파이썬에서 파일 목록의 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()
를 사용하여 다시 변환할 필요가 없습니다.
반응형
댓글