我正在尝试同时在php和python中获取md5,但我不确定为什么结果不同,我已经阅读了其他有关哈希字符串而不是文件的问题,并且还尝试了echo- n,但是出现语法错误。
Php:
<?php
echo 'MD5 file hash : ' . md5_file('https://cdn4.buysellads.net/uu/1/8026/1533152372-laptop_purple_graph.png');
?>
MD5文件哈希:5e81ca561d2c1e96b5e7a2e57244c8e5
python:
import hashlib
m=hashlib.md5('https://cdn4.buysellads.net/uu/1/8026/1533152372-laptop_purple_graph.png')
print('The MD5 checksum is',m.hexdigest())
MD5文件哈希:52e8e2e35519e8f6da474c5e1dc6d258
答案 0 :(得分:0)
在Python代码段中,您正在对https://cdn4.buysellads.net/uu/1/8026/1533152372-laptop_purple_graph.png
字符串进行哈希处理,我猜这与内容不同。
您需要先获取url内容并将其传递给hashlib.md5
:
import urllib.request
import hashlib
contents = urllib.request.urlopen("https://cdn4.buysellads.net/uu/1/8026/1533152372-laptop_purple_graph.png").read()
m = hashlib.md5(content)
print('The MD5 checksum is',m.hexdigest())