前言:
最近NK项目中有的字段在传输前使用了base64加密。
同时,又在网上看到一篇文章说 base64编码就是URL编码,感觉有些不对。
于是查询了一下什么叫做base64编码。
看后发现,base64和URL编码完全不是一个东西!!
URL编码是把这个字符对应的GBK编码(两个字节)(一般是中国的网站,比如百度),
或者UTF-8(一般是google,一个汉字对应3个字节)对应的编码
用
%AA%BB ----------GBK
%AA%BB%CC----UTF-8
的方式表示
而Base64编码
举例
转换前 10101101 10111010 01110110 转换后 00101011 00011011 00101001 00110110 十进制 43 27 41 54
对应码表中的值 r b p 2
再具体一点说,就是在URL编码中,字符只有0~9A~F表示16进制的这些字符,不会区分大小写。
而Base64编码中,可以有下面表中的这64个字符,而且是区分大小写的
索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 |
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 |
base64编码后面的=号,
==============
base64编码后面数据存在“=”或“==”是因为编码数据二进制转化后,按照Base64规则进行编码不够而进行补得位,缺一位就补一个“=”,缺两位就补两个“=”;
==============
应用:
用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。
此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
例子:
thunder://QUFodHRwOi8vZ2d4eHh6enouY29tOjgwODkvWzIwMTHMqM3lvsWw0bW21+7QwsfgtLrQo9SwsK7H6c7E0tVdW8TH0KnE6qOsztLDx9K7xvDXt7XExa66ol1bzKjN5c3q1fuw5kRWRF1bufrT79bQ19ZdW9G4wNfPwtTYXS5ybXZi
thunder://QUFodHRwOi8vZ2d4eHh6enouY29tOjgwODkvWzIwMTHMqM3lvsWw0bW21+7QwsfgtLrQo9SwsK7H6c7E0tVdW8TH0KnE6qOsztLDx9K7xvDXt7XExa66ol1bzKjN5c3q1fuw5kRWRF1bufrT79bQ19ZdW9G4wNfPwtTYXS5ybXZi
直接在网上找加密 解密有这么一个网站 http://maclife.net/tools/base64/
1解码时,要选择字符集(试试GBK GB2312 UTF-8)
2解码时不要带上thunder://
最后,效果是
AAhttp://ggxxxzzz.com:8089/[2011台湾九把刀最新青春校园爱情文艺][那些年,我们一起追的女孩][台湾完整版DVD][国语中字][迅雷下载].rmvb
题外话:
这个资源只供 说明用 。这个资源超级不清楚。
如果有谁想看的话,有下面这个地址
ftp://dygod1:dygod1@d068.dygod.org:3010/那些年,我们一起追的女孩.[中字.1024分辨率]/[电影天堂-www.dy2018.net]那些年,我们一起追的女孩HD中字.rmvb
这个非常清楚~~