Base64编码是电子邮件中常用的一种加密算法,设计Base64编码的目的是把任意序列的8位字节描述为一种不易直接被人识别的形式(RFC2045:The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 。
Base64算法最大特点是处理速度快,并且只看加密后的数据绝对猜不出加密前是什么。比如下面这串字符aXQncyBhIG5pY2UgZGF5,能看出加密前是什么东西吗?他的实际内容是it's a nice day
字符串“abc”,其二进制形式为01100001 01100010 01100011,转换为4个8位字节后是00011000 00010110 00001001 00100011,四个字节对应的十进制分别是24 22 9 35,根据下面的码表可以得到编码后的字符串是“YWJj”。
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v (pad) =
14 O 31 f 48 w
15 P 32 g 49 x
16 Q 33 h 50 y
这样字符串“abc”经过编码后就变成了“YWJj”。