最近用了base64加解密的问题,在使用的过程中出现了不少问题,上网查了一下 ,收获颇多,所以自己也总结了一下,以后再遇到这个问题,也好知道从哪里下手。
base64编码是网络传输的比较被青睐的一种编码,因为base64编码的字符集也是基本的asscii字符,所以经常会被当做安全的编码放在url里面传输,当做urlencode编码使用了,其实我们应该明白一下两点:
1. base64编码里面有一个 “+” 号,在urlecode编码中 “+” 会被解码成空格,urlencode时,"+" 号肯定是由空格编码出来的,但是base64编码的结果中 "+" 不是空格编码出来的,如果将base64编码作为安全的url编码使用,则 “+” 将被解码成空格,这是我们不愿看到的; 所以不要base64编码作为url编码来使用
2. 我们知道http头里面可能会用base64编码来传输一些信息,因为这些信息不会被web服务器默认做url解码的,我们可以得到原始的编码信息,所以http头里面使用base64编码是可以接受的。
这个是从http://blog.greycode.cn/128.html 这里看到的,总结的挺好的,
还有http://phpor.net/blog/starred/1/2/ 这里面的文章写得也不错,收藏了,呵呵