1

我正在尝试在 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

4

1 回答 1

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())
于 2018-08-21T18:13:57.893 回答