python base64 decode incorrect padding错误解决方法

yipeiwu_com7年前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谱减法语音降噪实例

代码中用到了nextpow2,其中n = nextpow2(x) 表示最接近x的2的n次幂。 #!/usr/bin/env python import numpy as np imp...

如何实现Django Rest framework版本控制

如何实现Django Rest framework版本控制

前言 首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版本了. 那么,我们就需要对版本进行控制——DRF版本控制. 源码剖...

python自动结束mysql慢查询会话的实例代码

生产环境的有些sql查询写得太复杂,或是表很大,对应索引未建立或建立不合理,或是查询未充分使用索引等,就有可能出现慢查询,一些慢查询需要修改程序,可能没那么快能解决,这时如果有个脚本能自...

python如何保证输入键入数字的方法

要求:python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码 错误打开方式: while True: ten=input('Enter a n...

Python使用os模块和fileinput模块来操作文件目录

os模块 在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数. 下面介绍os的常用功能 1.获取当前路径 >...