缺少填充和许多大写字母的 Base64 编码

逆向工程 编码
2021-06-11 10:03:14

以下字符串对我来说看起来像 base64,但数字或小写字符比大写少。某些 base64 解码器无法对其进行解码。它还能是base64吗?有没有办法解码它?

XkNGFUACH01FRUUXXV5WVFMEFkxVXA4dB0EVWkxBBxFTQ20VUktDFV1AVhYDCwYEAFFQTQYEVFRXDANQUQJWUw4FBFBVCwlaCgoFDAIEVAEDVV

1个回答

可能是 base64,尽管它缺少所需的填充。base64编码串长度是4*(n/3)其中n是原始字符串。填充是用一两个相等的 ( =) 标记完成的。由于您的字符串长 110 个字节,因此它应该以两个填充字节结尾。

手动添加两个填充字节(有时会被省略,因为它们是可预测的)会产生以下十六进制: 5e43461540021f4d454545175d5e56545304164c555c0e1d0741155a4c41071153436d15524b43155d405616030b06040051504d06045454570c0350510256530e050450550b095a0a0a050c020454010355

这对你来说合适吗?

因为这个二进制字符串中有一半以上的字符是相对较小的数字,并且大写字母位于 base64 表的底部,所以有一个包含许多大写字母的编码字符串是合理的。

这只是一个猜测,必须通过比较多个已知的输入/输出对或通过实际对编码/解码功能进行逆向工程来验证。