擅长:python、mysql、java
<p>Base64是一个完全确定的可逆转换,但它不以每个字符为基础进行操作(从输出长度不是输入的倍数也可以观察到这一点)。你知道吗</p>
<p>相反,一次对三个字节(24位)的组进行编码,将它们转换为四个6位数字(因此基64=2^6)。如果输入长度不是三的倍数,那么它将被填充,并通过在输出的末尾放置<code>=</code>字符来表示。你知道吗</p>
<p>因此,如果不同输入中的公共子串在这个三字节帧上对齐,并分组到相同的三元组中,则它们只会在输出中显示为公共子串。你知道吗</p>
<pre><code>the cat sat on the mat
dGhlIGNhdCBzYXQgb24gdGhlIG1hdA==
he cat sat on the mat
aGUgY2F0IHNhdCBvbiB0aGUgbWF0
e cat sat on the mat
ZSBjYXQgc2F0IG9uIHRoZSBtYXQ=
cat sat on the mat
IGNhdCBzYXQgb24gdGhlIG1hdA==
</code></pre>
<p>请注意,如果正好截断三个字符(“the”,保留空格),输出将再次变得可识别。你知道吗</p>