好友
阅读权限10
听众
最后登录1970-1-1
|
煮酒fu
发表于 2016-12-19 15:12
一 .base64算法原理:偷个懒
http://www.cnblogs.com/chengmo/p/3735917.html
所以, Base64 就是用64个字符 A-Z、a-z、数字0-9 ,这样共有62个字符,再加上“+ ” “/” ,给这64个字符做下编号。
然后我们用这64个字符表示计算机中二进制数据。
二,base64 算法核心,三个字节,用4个6bit的位元来表示。 1. 假设str[] = {byte1,byte2,byte3};
2. sum = sum(byte1<<16,byte2<<8, byte3);
3 .然后
p[0] = sum >>18 & 0x3f //;为什么右移18位,因为sum,求和后最大是就是10位。
p[1] = sum >>12 & 0x3f
p[2] = sum >>6 & 0x3f
p[3] = byte3 & 0x3f
以上就是base64的核心算法。
三.falre-on 将 这个顺序打乱,重新排序。ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
改为 :ZYXABCDEFGHIJKLMNOPQRSTUVWzyxabcdefghijklmnopqrstuvw0123456789+/
四. 剩下的就是写代码验证了
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|