python base64 decode出现incorrect padding错误的解决方法

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)

你可能感兴趣的:(python base64 decode出现incorrect padding错误的解决方法)