python3 与python2 使用map的坑
对字符串hashlib加密
注意两点巨坑
1.在py2中 不用对字符encode()编码,py3中必须encode()编码否则sha1.hexdigest()答案将不是你想要的。
2.在py3中 必须对map使用list 或tuple或循环输出才会得到正确答案。
在python2中正确方法
import hashlib
token = "sw7v82sf9hvw"
lis = [token,'1544002201','129793960']
lis.sort()
sha1 = hashlib.sha1()
map(sha1.update,lis)
hashcode = sha1.hexdigest()
print hashcode
在python3中正确方法
import hashlib
token = "sw7v82sf9hvw"
lis = [token,'1544002201','129793960']
lis.sort()
sha1 = hashlib.sha1()
list(map(sha1.update,[x.encode() for x in lis ]))
hashcode = sha1.hexdigest()
print(hashcode)