python base64 decode incorrect padding错误解决方法

yipeiwu_com6年前Python基础

python的base64.decodestring方法做base64解码时报错:

复制代码 代码如下:

Traceback (most recent call last):
  File "/export/www/outofmemory.cn/controllers/user.py", line 136, in decryptPassword
    encryptPwd = base64.b64decode(encryptPwd)
  File "/usr/lib/python2.7/base64.py", line 76, in b64decode
    raise TypeError(msg)
TypeError: Incorrect padding

这也算是python的一个坑吧,解决此问题的方法很简单,对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
            return base64.decodestring(data)

相关文章

python实现的简单抽奖系统实例

本文实例讲述了python实现的简单抽奖系统。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python #coding=utf-8 from Tkinte...

解决python3 urllib 链接中有中文的问题

环境python3,开发平台pycharm,使用urllib时,当url中存在中文时会出现以下错误: UnicodeEncodeError: 'ascii' codec can't...

对Python Pexpect 模块的使用说明详解

背景介绍 Expect 程序主要用于人机对话的模拟,就是那种系统提问,人来回答 yes/no ,或者账号登录输入用户名和密码等等的情况。因为这种情况特别多而且繁琐,所以很多语言都有各种自...

Python模块、包(Package)概念与用法分析

Python模块、包(Package)概念与用法分析

本文实例讲述了Python模块、包(Package)概念与用法。分享给大家供大家参考,具体如下: Python中”模块”的概念 在开发中,我们会有很多函数,我们可以把这些函数都放到一个文...

Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法

本文实例讲述了Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法。分享给大家供大家参考,具体如下: 每天打开电脑第一件事应该就是打开人人刷一下,然后登上QQ。每次都这样很麻烦...