python base64 decode incorrect padding错误解决方法
python的base64.decodestring方法做base64解码时报错:
Traceback(mostrecentcalllast): File"/export/www/outofmemory.cn/controllers/user.py",line136,indecryptPassword encryptPwd=base64.b64decode(encryptPwd) File"/usr/lib/python2.7/base64.py",line76,inb64decode raiseTypeError(msg) TypeError:Incorrectpadding
这也算是python的一个坑吧,解决此问题的方法很简单,对base64解码的string补齐等号就可以了,如下代码:
defdecode_base64(data): """Decodebase64,paddingbeingoptional.
:paramdata:Base64dataasanASCIIbytestring :returns:Thedecodedbytestring.
""" missing_padding=4-len(data)%4 ifmissing_padding: data+=b'='*missing_padding returnbase64.decodestring(data)