在python3中,从命令行executab计算二进制输出的校验和

2024-09-29 00:16:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用一个名为“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,但不确定是否有更好的方法?在


Tags: 文件工具方法函数def二进制filenamejpg
1条回答
网友
1楼 · 发布于 2024-09-29 00:16:22

看看https://docs.python.org/3/library/hashlib.html

例如:

import hashlib

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

所以你可以:

^{pr2}$

相关问题 更多 >