虽然在比赛中遇到bs64编码的话直接在线解码或者利用python的第三方库即可,但在有些情况(无在线环境,或者密码本改变等)情况下,就需要自己写脚本。
bs64的原理比较简单:
源文本–>ASCII–>Bin(8bits)–>Bin(6bits)–>Dictionary–>密文
其中,在Bin(8bits)–>Bin(6bits)时,若有余下的位,则末尾补’0’,同时,补了n个’0’就在最后编码的结尾加上n/2个’=’以表示。(只有补1个或2个的可能)
1 | def bs64encode(string): |