您的位置:首页 > 编程语言

Base64加密解密原理以及代码实现

2013-11-04 15:41 260 查看
  1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符.

    2.
编码原理:将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6)
)先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了.

    3.
解码原理:将4个字节转换成3个字节.先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位.这样就还原了.
   
Base64是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本协议(比如HTTP和SMTP)来传
输二进制数据的情况下。Base64并不是一种用于安全领域的加密解密算法(这类算法有DES等),尽管我们有时也听到使用Base64来加密解密的说
法,但这里所说的加密与解密实际是指编码(encode)和解码(decode)的过程,其变换是非常简单的,仅仅能够避免信息被直接识别。

   

   
Base64采用了一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6,这样3个字节的输入会变成4个字节的输出,长度上增加了1/3。

上面的处理还不能保证得到的字符都是可见字符,为了达到此目的,Base64制定了一个编码表,进行统一的转换。码表的大小为2^6=64,这也是Base64名称的由来。

                           
Base64编码表

     
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: