BASE64原理

BASE64是一种比较常见的编码格式,同时也对数据起到了一定保护作用。BASE64原理是将3个8位字节转为4个8位字节。不足3个字节最后使用‘=’代替。

BASE64编码表:

0 A 10 K 20 U 30 e 40 o 50 y 60 8
1 B 11 L 21 V 31 f 41 p 51 z 61 9
2 C 12 M 22 W 32 g 42 q 52 0 62 +
3 D 13 N 23 X 33 h 43 r 53 1 63 /
4 E 14 O 24 Y 34 i 44 s 54 2    
5 F 15 P 25 Z 35 j 45 t 55 3    
6 G 16 Q 26 a 36 k 46 u 56 4    
7 H 17 R 27 b 37 l 47 v 57 5    
8 I 18 S 28 c 38 m 48 w 58 6    
9 J 19 D 29 d 39 n 49 x 59 7    

具体算法:

1、首先将字符按3字符(7位)分开,最后少于3个字符的用0(0000 0000)表示。

如:"aaa" //a的ASCII码为97,及0110 0001

0110 0001 0110 0001 0110 000 1  

2、将字符按6位进行分4个字节出来,每个字节开始2位用00填充。

结果:

-->0001 1000|0000 10110|0000 0101|0010 0001

3、通过BASE64编码表转换成对应字符

24 22 5 33

Y W F h

BASE64结果:"YWFh"

注:2进制转为10进制方法

1024 512 256 128 64 32 16 8 4 2 1
      0 0 0 1 1 0 0 0
            16 8      
                    24

你可能感兴趣的:(Android-数据加密)