当我用Python计算一个文件的MD5时,我会得到一个奇怪的输出。我的职能:
def md5_for_file(self, fname, block_size=2**20):
f = open(fname)
data = f.read()
m = md5.new()
if len(data)>0:
m.update(data)
f.close()
return m.digest()产出:
输出http://img51.imageshack.us/img51/6615/20j7.png
我要把它转换成utf8还是什么?!
发布于 2013-09-14 18:05:49
digest将摘要作为表示字节数组的二进制字符串返回。如果您希望您的摘要以十六进制表示,例如,要将其显示给用户,请使用hexdigest方法。
另外,正如克瑞克所指出的,md5是不推荐的,您应该使用hashlib代替。最后,您的函数没有使用block_size参数-它总是将整个文件读入内存以便计算摘要。
https://stackoverflow.com/questions/18804820
复制相似问题