Python中translate()和maketrans()的使用

       
-------------已经到底啦!-------------
 

base64字典表顺序时可能会用到.

payload如下

1
2
3
4
5
6
7
8
9
10
import base64
import string

str1 = "mTyqm7wjODkrNLcWl0eqO8K8gc1BPk1GNLgUpI=="

s1= "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0987654321/+"
s2= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

print(base64.b64decode(str1.translate(str.maketrans(s1,s2))))

str1是需要解码的base64
s1是给出的字典表,s2是s1的(常规)映射表.
下面简单讲解一下两种语法的使用.

==maketrans()==
生成字符串映射,即上述中s2是s1的映射表,也就是说a对应B,B对应C,b对应D,以此类推…
==translate()==
这里对str1字符串使用这个s1与s2生成的映射关系,生成新的base64