import base64
def safe_base64_decode(s): n=len(s)%4 str=s+b'='*n return base64.b64decode(str)
为什么不是n=4-len(s)%4呢?
这个问题问的是对的,但是你也没有发现一个问题,就是无论我是几个字节的,我想补全3的倍数,要么加1,要么加2 那么我加密出来的base64 要么加一个= 要么加两个= 所以base64的长度在对4求余数以后 要么是2(加2个=就是4的倍数) 要么是3 (加1个=就是4的倍数), base64解码的时候 等号的数量多于2个 就能成功解码 所以他这么写,虽然思路有点问题,但是也能成功解码
Sign in to make a reply
落汐21
import base64
def safe_base64_decode(s): n=len(s)%4 str=s+b'='*n return base64.b64decode(str)