python的base64.decodestring或者base64.b64decode方法做base64解码时报错:
Traceback(most recent calllast):File"/export/www/outofmemory.cn/controllers/user.py",line136,indecryptPassword
encryptPwd=base64.b64decode(encryptPwd)File"/usr/lib/python2.7/base64.py",line76,inb64decoderaiseTypeError(msg)TypeError:Incorrectpadding
解决此问题的方法很简单,对base64解码的string补齐等号就可以了,如下代码:
def decode_base64(data):
"""Decode base64, padding being optional.
:param data: Base64 data as an ASCII byte string
:returns: The decoded byte string.
"""
missing_padding=4-len(data)%4
if missing_padding:
data+=b'='*missing_padding
returnbase64.decodestring(data)
#returnbase64.b64decode(data)