最近看了一下数据加密,从最基础的Base64看了一下,虽然网上有很多人用代码实现了,如果只会用不知道原理也是没多大进步的,于是就找了一下Base64编码的原理,发现这篇博主的文章很是不错,特意总结分享一下。
http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html
通过学习发现,Base64的编码过程如下:
- 将需要编码的字符串,按3个8bit的字符为一组
- 获取字符的ASCII编码
- 将ASCII码转换成8bit的二进制,得到3*8=24bit的字节组
- 将这24bit组划分为4个bit的字节,并在每个6bit的字节高位都填上两个0,得到4个8bit组
- 然后将这4个8bit组转化为10进制 ,对照BASE64码表,得到对应编码。
注意:1.中文每个字符超过8bit不能进行base64编码
2.如果被编码字符长度不是3的倍数的时候,在第3步,不够的用0代替,相应得到=
最后感谢博主总结分享。