小编Edu*_*o M的帖子

Python 2 vs3。相同的输入,不同的结果。MD5哈希

Python 3代码:

def md5hex(data):
    """ return hex string of md5 of the given string """
    h = MD5.new()
    h.update(data.encode('utf-8'))
    return b2a_hex(h.digest()).decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

Python 2代码:

def md5hex(data):
    """ return hex string of md5 of the given string """
    h = MD5.new()
    h.update(data)
    return b2a_hex(h.digest())
Run Code Online (Sandbox Code Playgroud)

输入python 3:

>>> md5hex('bf5¤7¤8¤3')
'61d91bafe643c282bd7d7af7083c14d6'
Run Code Online (Sandbox Code Playgroud)

输入python 2:

>>> md5hex('bf5¤7¤8¤3')
'46440745dd89d0211de4a72c7cea3720'
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

编辑:

def genurlkey(songid, md5origin, mediaver=4, fmt=1):
    """ Calculate the deezer download url given the songid, origin and media+format """
    data = b'\xa4'.join(_.encode("utf-8") for _ in [md5origin, str(fmt), …
Run Code Online (Sandbox Code Playgroud)

python md5 python-2.7 python-3.x

5
推荐指数
1
解决办法
3243
查看次数

标签 统计

md5 ×1

python ×1

python-2.7 ×1

python-3.x ×1