base64加解密工具,方便加、解密,用于破解電信貓超級用戶加密密碼,其加密方式是 Base64。
保護個人隱私.
Base64編碼:
Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的詳細規(guī)范。Base64編碼可用于在HTTP環(huán)境下傳遞較長的標識信息。例如,在Java Persistence系統(tǒng)Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數(shù)。在其他應(yīng)用程序中,也常常需要把二進制數(shù)據(jù)編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼不僅比較簡短,同時也具有不可讀性,即所編碼的數(shù)據(jù)不會被人用肉眼所直接看到。
RFC2045還規(guī)定每行位76個字符,每行末尾需添加一個回車換行符,即便是最后一行不夠76個字符,也要加換行符。
實現(xiàn)原理:
Base64實際上是對二進制碼做分組轉(zhuǎn)換操作
1.每3個8位二進制碼位一組,轉(zhuǎn)換為4個6位二進制碼為一組(不足6位時地位補0)。3個8位二進制碼和4個6位二進制碼長度都是24位。
2.對獲得的4個6位二進制碼補位,每個6位二進制碼添加兩位高位0,組成4個8位二進制碼。
3.將獲得的4個8位二進制碼轉(zhuǎn)換為4個十進制碼。
4.將獲得的十進制碼轉(zhuǎn)換為Base64字符表中對應(yīng)的字符。
字符串“A”,進行Base64編碼,如下所示:
字符 A
ASCII碼 65
二進制碼 01000001
4個6位二進制碼 010000 010000
4個8位二進制碼 00010000 00010000
十進制碼 16 16
字符表映射碼 Q Q = =
字符串“A”經(jīng)過Base64編碼后得到字符串“QQ==”。
結(jié)果出現(xiàn)了兩個等號。很顯然,當原文的二進制碼長度不足24位,最終轉(zhuǎn)換為十進制時也不足4項,這時就需要用等號補位。
將Base64編碼后的字符串最多會有2個等號,這時因為:
余數(shù) = 原文字節(jié)數(shù) MOD 3。
字符串“密”,對其使用UTF-8編碼等到Byte數(shù)組{-27,-81,-122},
字符 密
UTF-8編碼 -27 -81 -122
二進制碼 11100101 10101111 10000110
4個6位二進制碼 111001 011010 111110 000110
4個8位二進制碼 00111001 00011010 00111110 00000110
十進制碼 57 26 62 6
字符表映射碼 5 a + G
字符串“密”經(jīng)過Base64編碼后得到字符串“5a+G”。
對照表:
索引 對應(yīng)字符 索引 對應(yīng)字符 索引 對應(yīng)字符 索引 對應(yīng)字符
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
14 O 31 f 48 w
15 P 32 g 49 x
16 Q 33 h 50 y