В Python 3 вычислите контрольную сумму двоичного вывода из исполняемого файла командной строки - PullRequest
0 голосов
/ 22 мая 2018

Я использую инструмент под названием "exiftool" для извлечения двоичного JPG из файла.Я хотел бы затем вычислить сумму sha512 из этого файла.Каков хороший способ сделать это?

Моя функция для извлечения двоичного JPG выглядит следующим образом:

def getVisSig(filename):
""" Calculates visual signature using
    imagemagick package. returns signature
"""

print("Calculating VisSig on %s" % filename)
result = subprocess.Popen(["exiftool","-b","-PreviewImage",
                           filename,], stdout=subprocess.PIPE)

Вывод двоичный.Как мне справиться с этим, чтобы вычислить сумму sha512?Я думал, что смогу передать вывод в sha512sum из командной строки и прочитать полученную строку в Python, но не уверен, что есть лучший способ?

1 Ответ

0 голосов
/ 22 мая 2018

Взгляните на https://docs.python.org/3/library/hashlib.html

Например:

import hashlib

hashlib.sha512(b"asdfasdf").hexdigest()
# output: 'ce57d8bc990447c7ec35557040756db2a9ff7cdab53911f3c7995bc6bf3572cda8c94fa53789e523a680de9921c067f6717e79426df467185fc7a6dbec4b2d57'

Так что вы можете просто:

hashlib.sha512(result).hexdigest()
...