Я пытаюсь получить md5 как на php, так и на python, но я не уверен, почему результаты отличаются, я читал в других вопросах о хэшировании строк, но не файлов, и я также пробовал echo -n, но я получить синтаксическую ошибку.
Php:
<?php
echo 'MD5 file hash : ' . md5_file('https://cdn4.buysellads.net/uu/1/8026/1533152372-laptop_purple_graph.png');
?>
Хеш файла MD5: 5e81ca561d2c1e96b5e7a2e57244c8e5
питон:
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
В фрагменте 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())
Других решений пока нет …