首先来看一个列子
如图这是一个随机打乱码表的小列子
运行后谁也不知道码表是什么样子的
常见在配置项保存时候 或者 tcp协议传输加密 使用
先来简单判断下长度
如图所示
加密同样的文本 长度是一样的
在来对比下 标准的B64加密后是什么样子的
标准加密 :MTIzNDU2
软件加密1:Kdx9Jhke
软件加密2:vB6fNbGW
长度是一样的
在来判断下 加密123123是什么情况
加密1:
Kdx9
Kdx9
加密2:
vB6f
vB6f
可以看到 2组有重复的特征
基本可以断定是简单的码表打乱
下面来说下猜解码表的思路
标准的B64加密123123结果是
MTIz
MTIz
标准 :
MTIz
MTIz
加密1:
Kdx9
Kdx9
加密2:
vB6f
vB6f
通过对比可以得知 在标准编码表里的M对应 加密1的编码里的K 对面加密2的编码里的v (注意是区分大小写的)
是存在对应关系的
那么如果我们来几个文本 加密后的密文 包含了所有的码表字符 去进行对比 自定义码表是不是就出来了呢
经过实际测试是可以的 有图为真
如果每次加密限制了长度呢
分次提交 也就是多了几次而已
然后计算 也就是逐字对应 然后按标准码表顺序输出