파일의 MD5 값을 python으로 계산합니다.
1. 문자열의md5 값 계산
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import hashlib
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
content = "hello"
md5hash = hashlib.md5(content)
md5 = md5hash.hexdigest()
print(md5)
상기 코드 실행, 출력: 5d41402abc4b2a76b9719d911017c592PHP 자체의md5 함수로 같은 문자열을 계산하여hello의md5가 정확한지 확인합니다.
<?php
$content = "hello";
$md5 = md5($content);
var_dump($md5); // 5d41402abc4b2a76b9719d911017c592
2. 계산 파일의md5 값
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import hashlib
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
file_name = "3383430480_51_01.jpg"
with open(file_name, 'rb') as fp:
data = fp.read()
file_md5= hashlib.md5(data).hexdigest()
print(file_md5) # ac3ee699961c58ef80a78c2434efe0d0
파일md5 계산은 문자열 계산과 같습니다.hashlib의md5 방법을 직접 사용하고 hexdigests를 사용하면 됩니다.PHP 코드로 동일하게 확인
<?php
$file_name = "3383430480_51_01.jpg";
$file_md5 = md5_file($file_name);
var_dump($file_md5); // ac3ee699961c58ef80a78c2434efe0d0
결과에서 알 수 있듯이md5는 같고 파일md5값도 그렇습니다. 마음속으로 기뻐합니다...만약에 큰 파일, 예를 들어 몇 개의 G가 있다면, 상술한 코드는 틀림없이 메모리가 넘칠 것이다. 어떻게 하면 블록별로 파일 내용을 읽고 계산할 수 있다.
3. 큰 파일의md5값을 계산한다
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import hashlib
def get_file_md5(fname):
m = hashlib.md5() # md5
with open(fname,'rb') as fobj:
while True:
data = fobj.read(4096)
if not data:
break
m.update(data) # md5
return m.hexdigest() # md5
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
file_name = "mongodb_us.zip"
file_md5 = get_file_md5(file_name)
print(file_md5) # 0f45cdbf14de54001e82a17c3d199a4b
4. 상용 라이브러리md5로 봉함.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import hashlib
def get_file_md5(file_name):
"""
md5
:param file_name:
:return:
"""
m = hashlib.md5() # md5
with open(file_name,'rb') as fobj:
while True:
data = fobj.read(4096)
if not data:
break
m.update(data) # md5
return m.hexdigest() # md5
def get_str_md5(content):
"""
md5
:param content:
:return:
"""
m = hashlib.md5(content) # md5
return m.hexdigest()
자, MD5에 대한 계산은 여기까지 하겠습니다. 서로 다른 견해를 가진 학생, 벽돌을 두드리는 것을 환영합니다. 함께 토론해 주십시오. 감사합니다.이상은python으로 파일의 MD5 값을 계산하는 상세한 내용입니다. 더 많은python 계산 파일의 MD5에 대한 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.