Network Security · Reverse Engineering · IoT · Mathematics
Base64
Base64 将二进制数据转成 ASCII 字符串 (“binary to text” scheme*) 在 CSS 中直接嵌入小图标或者在 Data URI 核心: 将字节转换为一个取字符于一个由 64 个可打印字符组成的集合的可打印字符串 然而 64 个字符只能映射 6 位比特,所以使用三个字节以便映射到长度为 4 的 base64 的字符串。如果字节数不是 3 的倍数则会出现补位需求,如果字节数模三余一,则二进制需要补 4 个 0;如果字节数模 3 余 2,则二进制需要补 2 个 0。计算过程如下 已知字节数模三余一: $$ \text{Bytes Number} \equiv 1 \pmod 3 $$ 由模运算性质可知, 可推知 $$ 8 \times \text{Bytes Number} \equiv 2 \pmod 3 $$ 显然有 $$ 8 \times \text{Bytes Number} \equiv 0 \pmod 2 $$ 我们知道 $gcd(2, 3) = 1$,因此可以根据中国剩余定理(CRT)得到: ...