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)


posted on 2018-12-06 09:52  程序员小朱  阅读(1101)  评论(0编辑  收藏  举报

导航