煮酒fu 发表于 2016-12-19 15:12

算法分析:1——flare-on BASE64变形分析

一 .base64算法原理:偷个懒:loveliness:
   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 = sum >>18 & 0x3f//;为什么右移18位,因为sum,求和后最大是就是10位。
               p = sum >>12 & 0x3f
                p = sum >>6 & 0x3f
                p = byte3 & 0x3f

      以上就是base64的核心算法。

三.falre-on 将这个顺序打乱,重新排序。ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
   改为:ZYXABCDEFGHIJKLMNOPQRSTUVWzyxabcdefghijklmnopqrstuvw0123456789+/

四. 剩下的就是写代码验证了








页: [1]
查看完整版本: 算法分析:1——flare-on BASE64变形分析