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
W
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
W
相关文章推荐
- Base64加密解密原理以及代码实现
- Base64加密解密原理以及代码实现
- Base64加密解密原理以及代码实现
- Base64加密解密原理以及代码实现
- 基于Java实现的Base64加密、解密原理代码
- 加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
- 加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
- Java Base64加密、解密原理Java代码
- JAVA BASE64 加密解密实现代码
- Base64 算法原理,以及编码、解码【加密、解密】 介绍
- JAVA BASE64 加密解密实现代码
- Java Base64加密、解密原理Java代码(转载)
- php实现base64加密解密的代码
- java_security之base64原理解析以及三种代码的实现方式
- Java Base64加密、解密原理Java代码
- Java Base64加密、解密原理Java代码
- Base64 算法原理,以及编码、解码【加密、解密】 介绍
- [转]Base64加密原理及代码实现
- Base64编码解析以及加密、解密实现