该方法返回一个字符串的十进制数,这是测试下jquery1.9.2。
复制代码代码如下所示:
(函数($){)
$ =函数(o){
如果(空= o){
return'null;
}
如果(typeof O!=字符串){
return'null;
}
填充长度计算
无功fill_data_len = 0;
无功data_len = o.length;
无功d_l_mod = data_len % md5_base_len;
如果(0)!= d_l_mod)
fill_data_len = md5_base_len - d_l_mod;
如果(fill_data_len<8)
fill_data_len = md5_base_len;
VaR buf =新的数组(data_len + fill_data_len);
对于(var i = 0;i < data_len;i++)
但我o.charcodeat } = {(我);
无功msg_bit_len = data_len * byte_bit_len
但data_len } = { first_fill_byte;
对于(var i = 0;i < 4;i + +){
但data_len + fill_data_len { 8 } +我= =
((msg_bit_len(0x000000ff <(我8)))
>(i * 8);
}
无功md5_c = { md5_a,md5_b,md5_c,md5_d };
无功md5_code = { md5_a,md5_b,md5_c,md5_d };
对于(var m = 0;M data_len + fill_data_len;m = 64){
无功buf_p =新阵(16);
对于(var i = 0;i < 16;i + +){
我buf_p { } = 0;
对于(var j=0;j<4;j + +){
buf_p {我} << = 8;
buf_p {我} | = buf { m + J +我* 4 };
}
}
对于(var = k 0;k<16;k=4){
md5_c { 0 } = FF(md5_c { 0 },md5_c { 1 },{ 2 } md5_c,
md5_c { 3 },{ 7 } buf_p K,K,md5_ti { });
md5_c { 3 } = FF(md5_c { 3 },md5_c { 0 },{ 1 } md5_c,
md5_c { 2 },{ 1 } buf_p钾,12,
md5_ti { k + 1 });
md5_c { 2 } = FF(md5_c { 2 },md5_c { 3 },{ 0 } md5_c,
md5_c { 1 },{ 2 } buf_p钾,17,
md5_ti { k + 2 });
md5_c { 1 } = FF(md5_c { 1 },md5_c { 2 },{ 3 } md5_c,
md5_c { 0 },{ 3 } buf_p钾,22,
md5_ti { k + 3 });
}
Md5_c{0} = GG (md5_c{0}, md5_c{1}, md5_c{2}, md5_c{3},
buf_p { 1 },5,md5_ti { 16 });
md5_c { 3 } = GG(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 6 },9,md5_ti { 17 });
md5_c { 2 } = GG(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 11 },14,md5_ti { 18 });
md5_c { 1 } = GG(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 0 },20,md5_ti { 19 });

md5_c { 0 } = GG(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 5 },5,md5_ti { 20 });
md5_c { 3 } = GG(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 10 },9,md5_ti { 21 });
md5_c { 2 } = GG(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 15 },14,md5_ti { 22 });
md5_c { 1 } = GG(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 4 },20,md5_ti { 23 });

md5_c { 0 } = GG(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 9 },5,md5_ti { 24 });
md5_c { 3 } = GG(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 14 },9,md5_ti { 25 });
md5_c { 2 } = GG(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 3 },14,md5_ti { 26 });
md5_c { 1 } = GG(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 8 },20,md5_ti { 27 });

md5_c { 0 } = GG(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 13 },5,md5_ti { 28 });
md5_c { 3 } = GG(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 2 },9,md5_ti { 29 });
md5_c { 2 } = GG(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 7 },14,md5_ti { 30 });
md5_c { 1 } = GG(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 12 },20,md5_ti { 31 });

md5_c { 0 } = HH(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 5 },4,md5_ti { 32 });
md5_c { 3 } = HH(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 8 },11,md5_ti { 33 });
md5_c { 2 } = HH(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 11 },16,md5_ti { 34 });
md5_c { 1 } = HH(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 14 },23,md5_ti { 35 });

md5_c { 0 } = HH(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 1 },4,md5_ti { 36 });
md5_c { 3 } = HH(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 4 },11,md5_ti { 37 });
md5_c { 2 } = HH(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 7 },16,md5_ti { 38 });
md5_c { 1 } = HH(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 10 },23,md5_ti { 39 });

md5_c { 0 } = HH(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 13 },4,md5_ti { 40 });
md5_c { 3 } = HH(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 0 },11,md5_ti { 41 });
md5_c { 2 } = HH(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 3 },16,md5_ti { 42 });
md5_c { 1 } = HH(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 6 },23,md5_ti { 43 });

md5_c { 0 } = HH(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 9 },4,md5_ti { 44 });
md5_c { 3 } = HH(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 12 },11,md5_ti { 45 });
md5_c { 2 } = HH(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 15 },16,md5_ti { 46 });
md5_c { 1 } = HH(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 2 },23,md5_ti { 47 });

md5_c { 0 } = II(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 0 },6,md5_ti { 48 });
md5_c { 3 } = II(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 7 },10,md5_ti { 49 });
md5_c { 2 } = II(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 14 },15,md5_ti { 50 });
md5_c { 1 } = II(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 5 },21,md5_ti { 51 });

md5_c { 0 } = II(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 12 },6,md5_ti { 52 });
md5_c { 3 } = II(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 3 },10,md5_ti { 53 });
md5_c { 2 } = II(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 10 },15,md5_ti { 54 });
md5_c { 1 } = II(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 1 },21,md5_ti { 55 });

md5_c { 0 } = II(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 8 },6,md5_ti { 56 });
md5_c { 3 } = II(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 15 },10,md5_ti { 57 });
md5_c { 2 } = II(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 6 },15,md5_ti { 58 });
md5_c { 1 } = II(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 13 },21,md5_ti { 59 });

md5_c { 0 } = II(md5_c { 0 },md5_c md5_c { 1 },{ 2 },{ 3 } md5_c,
buf_p { 4 },6,md5_ti { 60 });
md5_c { 3 } = II(md5_c { 3 },md5_c md5_c { 0 },{ 1 },{ 2 } md5_c,
buf_p { 11 },10,md5_ti { 61 });
md5_c { 2 } = II(md5_c { 2 },md5_c md5_c { 3 },{ 0 },{ 1 } md5_c,
buf_p { 2 },15,md5_ti { 62 });
md5_c { 1 } = II(md5_c { 1 },md5_c md5_c { 2 },{ 3 },{ 0 } md5_c,
buf_p { 9 },21,md5_ti { 63 });

对于(var i = 0;i < 4;i + +){
我md5_code { } = md5_c {我};
}
对于(var i = 0;i < 4;i + +){
我md5_c { } = md5_code {我};
}
}
无功md5_code_str = + md5_code { 0 };
对于(var i = 1;i < 4;i + +)
md5_code_str = md5_code {我};
返回md5_code_str;
};
}(jQuery);

函数f(x,y,z)
{
返回(((x)(y)|(()~(x))(z)));
}

函数g(x,y,z)
{
返回(((X)(Z)(|)(Y)(~(z))));
}

函数h(x,y,z)
{
返回((x))(y);
}

函数i(x,y,z)
{
返回((Y)^((x)|(~(z))));
}

功能bit_rol(d,n)
{
返回((((D)>(32 -((n )))))
}

函数FF(a,b,c,d,m,s,t)
{
返回bit_rol B +((+ F(B,C,D)+ M + T),S);
}

函数GG(a,b,c,d,m,s,t)
{
返回bit_rol B +((+ G(B,C,D)+ M + T),S);
}

函数HH(a,b,c,d,m,s,t)
{
返回B + bit_rol((A + H(B,C,D)+ M + T),S);
}

函数ii(a,b,c,d,m,s,t)
{
返回bit_rol B +((+我(B,C,D)+ M + T),S);
}

无功md5_ti = {
0xd76aa478,0xe8c7b756,0x242070db,0xc1bdceee,
0xf57c0faf,0x4787c62a,0xa8304613,0xfd469501,
0x698098d8,0x8b44f7af,0xffff5bb1,0x895cd7be,
0x6b901122,0xfd987193,0xa679438e,0x49b40821,
0xf61e2562,0xc040b340,0x265e5a51,0xe9b6c7aa,
0xd62f105d,0x02441453,0xd8a1e681,0xe7d3fbc8,
0x21e1cde6,0xc33707d6,0xf4d50d87,0x455a14ed,
0xa9e3e905,0xfcefa3f8,0x676f02d9,0x8d2a4c8a,
0xfffa3942,0x8771f681,0x6d9d6122,0xfde5380c,
0xa4beea44,0x4bdecfa9,0xf6bb4b60,0xbebfbc70,
0x289b7ec6,0xeaa127fa,0xd4ef3085,0x04881d05,
0xd9d4d039,0xe6db99e5,0x1fa27cf8,0xc4ac5665,
0xf4292244,0x432aff97,0xab9423a7,0xfc93a039,
0x655b59c3,0x8f0ccc92,0xffeff47d,0x85845dd1,
0x6fa87e4f,0xfe2ce6e0,0xa3014314,0x4e0811a1,
0xf7537e82,0xbd3af235,0x2ad7d2bb,0xeb86d391
};
无功byte_bit_len = 8;
无功md5_base_len = 64;
无功md5_a = 0x67452301;
无功md5_b = 0xefcdab89;
无功md5_c = 0x98badcfe;
无功md5_d = 0x10325476;
无功first_fill_byte = 0x80;