关于那种22位四不像的MD5

  • A+
所属分类:逆向工程

GCV15/bVem29Cu9CiBpP+w

GCV15/bVem29Cu9CiBpP+w

E5Ia47UWnXs19vyWWsjKbg

Q3GN6LRsX/ba1eJUEQqLeA

Dhvt8khDDmpERqXcsUhtWQ

这是前5条数据, 长度都是22字节, 等长 -> 目测应该是某种hash;

至少, cmd5认识这玩意;
咱们今天的目的是了解下这种加密是怎么来的, 走个流程熟悉熟悉;
用第三条数据当示范:
可能E5Ia47UWnXs19vyWWsjKbg这么看看不出什么效果, 
那我们换个姿势看: E5Ia47UWnXs19vyWWsjKbg==
密文长度为22, 22 mod 3 ≡ 1, 补俩=, 使其模3为0, 这就是base64;
不过有人会问, 长的像又不表示这就是base64:

解出来就是这种奇葩了;
下面就走个流程, 看看怎么把E5Ia47UWnXs19vyWWsjKbg还原成出来: 
先列个东西, 我去年买的表, 等会要用:

00        A        16        Q        32        g        48        w

01        B        17        R        33        h        49        x

02        C        18        S        34        i        50        y

03        D        19        T        35        j        51        z

04        E        20        U        36        k        52        0

05        F        21        V        37        l        53        1

06        G        22        W        38        m        54        2

07        H        23        X        39        n        55        3

08        I        24        Y        40        o        56        4

09        J        25        Z        41        p        57        5

10        K        26        a        42        q        58        6

11        L        27        b        43        r        59        7

12        M        28        c        44        s        60        8

13        N        29        d        45        t        61        9

14        O        30        e        46        u        62        +

15        P        31        f        47        v        63        /

① 把E5Ia47UWnXs19vyWWsjKbg根据上面的表还原出来数值: 04 57 08 26 56 59 20 22 39 23 44 53 61 47 50 22
② 把04 57 08 26 56 59 20 22 39 23 44 53 61 47 50 22转成Bin值: 
04        00000100
57        00111001
08        00001000
26        00011010
56        00111000
59        00111011
20        00010100
22        00010110
39        00100111
23        00010111
44        00101100
53        00110101
61        00111101
47        00101111
50        00110010
22        00010110
22        00010110
44        00101100
35        00100011
10        00001010
27        00011011
32        00100000
③ 一共有22个, 前21个把开头的00去掉, 最后一个除了去掉开头的00还要去掉末尾的0000得到这个:

00010011 10010010 00011010 11100011 10110101 00010110 10011101 01111011 00110101 11110110 11111100 10010110 01011010 11001000 11001010 01101110

00010011        13

10010010        92

00011010        1A

11100011        E3

10110101        B5

00010110        16

10011101        9D

01111011        7B

00110101        35

11110110        F6

11111100        FC

10010110        96

01011010        5A

11001000        C8

11001010        CA

01101110        6E

⑤ 最后得到: 13921AE3B5169D7B35F6FC965AC8CA6E
这个够眼熟了吧? 32位的自己反查吧...
其实我不懂, 上面都是我瞎编的, 实在编不下去了;

P.S. 这种MD5(d_Base64)的方式在asp.net的Membership中自带了;

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: