Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:计算md5时的奇怪输出_Python_Md5 - Fatal编程技术网

Python:计算md5时的奇怪输出

Python:计算md5时的奇怪输出,python,md5,Python,Md5,当我用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() 输出: 我需要把它转换

当我用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()
输出:


我需要把它转换成utf8或者什么

摘要
将摘要作为表示字节数组的二进制字符串返回。如果您希望您的摘要以十六进制显示,例如向用户显示,请使用
hexdigest
方法


另外,
md5
已被弃用,您应该改用。最后,您的函数没有使用
block\u size
参数-它总是将整个文件读入内存以计算摘要。

md5
不推荐使用。您应该改用
hashlib
。非常感谢。hexdigest有效!是的…我忘记了块大小,我被迫使用python 2.2,所以我不能使用hashlib,也找不到适用于windows的hashlib等等。。。再次感谢你DHmm。。。为什么python MD5与同一文件的php/visual basic MD5不同?@Cataclismo可能您忘记了以二进制模式打开该文件?无论如何,这似乎是一个新问题的材料——当然,有更多的信息和可复制的例子。。。