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)



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM