標籤:文本 大於 使用 class 十六進位 mtab col 編碼錶 medium
1、Base64編碼說明
Base64編碼要求把3個8位位元組(3*8=24)轉化為4個6位的位元組(4*6=24),之後在6位的前面補兩個0,形成8位一個位元組的形式。 如果剩下的字元不足3個位元組,則用0填充,輸出字元使用‘=‘,因此編碼後輸出的文本末尾可能會出現1或2個‘=‘。
為了保證所輸出的編碼位可讀字元,Base64制定了一個編碼錶,以便進行統一轉換。編碼錶的大小為2^6=64,這也是Base64名稱的由來。
2、Base64編碼錶
| 碼值 |
字元 |
|
碼值 |
字元 |
|
碼值 |
字元 |
|
碼值 |
字元 |
| 0 |
A |
16 |
Q |
32 |
g |
48 |
w |
| 1 |
B |
17 |
R |
33 |
h |
49 |
x |
| 2 |
C |
18 |
S |
34 |
i |
50 |
y |
| 3 |
D |
19 |
T |
35 |
j |
51 |
z |
| 4 |
E |
20 |
U |
36 |
k |
52 |
0 |
| 5 |
F |
21 |
V |
37 |
l |
53 |
1 |
| 6 |
G |
22 |
W |
38 |
m |
54 |
2 |
| 7 |
H |
23 |
X |
39 |
n |
55 |
3 |
| 8 |
I |
24 |
Y |
40 |
o |
56 |
4 |
| 9 |
J |
25 |
Z |
41 |
p |
57 |
5 |
| 10 |
K |
26 |
a |
42 |
q |
58 |
6 |
| 11 |
L |
27 |
b |
43 |
r |
59 |
7 |
| 12 |
M |
28 |
c |
44 |
s |
60 |
8 |
| 13 |
N |
29 |
d |
45 |
t |
61 |
9 |
| 14 |
O |
30 |
e |
46 |
u |
62 |
+ |
| 15 |
P |
31 |
f |
47 |
v |
63 |
/ |
3、Base64編碼使用
(1) 使用不夠三個位元組的編碼
例如:加密bs (ASCII碼 b 十六進位62 s 十六進位為73)
換算二進位 : 0110 0010 0111 0011
不夠三個位元組的用0補全 0110 0010 0111 0011 0000 0000
轉化成6個自己模式 011000 100111 001100 000000
尋找base64編碼錶分別對應 YnM=
(2) 使用大於或等於三個位元組的編碼
例如:加密asd (ASCII碼 a 十六進位61 s 十六進位為73 d十六進位為64)
換算二進位 : 0110 0001 0111 0011 0110 0100
轉化成6個自己模式 011000 010111 001101 100100
尋找base64編碼錶分別對應 YXNk
iOS Base64加密