Python2与Python3中hashlib的sha1结果不一致,编码问题

Python2与Python3中hashlib的sha1结果不一致,网上找了一大圈,都不正确。自己发博客,给有需要的人。真正解决了问题的,请点赞!
在python2中正确方法

import hashlib

token = “sw7v82sf9hvw”
lis = [token,‘1544002201’,‘129793960’]
lis.sort()
sha1 = hashlib.sha1()
map(sha1.update,lis)
hashcode = sha1.hexdigest()
print hashcode
 在python3中正确方法

Python3正确的写法(微信公众号平台开发者使用)
list = [token, timestamp, nonce]
list.sort()
sha1 = hashlib.sha1()

        sha1.update("".join(list).encode('utf-8'))  #唯一区别的一句

hashcode = sha1.hexdigest()

你可能感兴趣的:(问题解决)