亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery插件開發之實現md5插件

2019-11-20 20:56:33
字體:
來源:轉載
供稿:網友

方法返回的是一串十進制數,在jquery1.9.2下測試通過。

復制代碼 代碼如下:

(function($){
 $.md5 = function(o) {
  if(null === o) {
   return 'null';
  }
  if(typeof o != "string") {
   return 'null';
  }
  //計算填充的長度
  var fill_data_len = 0;
  var data_len = o.length;
  var d_l_mod = data_len % MD5_BASE_LEN;
  if(0 != d_l_mod)
   fill_data_len = MD5_BASE_LEN - d_l_mod;
  if(fill_data_len < 8)
   fill_data_len += MD5_BASE_LEN;
  var buf = new Array(data_len + fill_data_len);
  for(var i = 0;i < data_len;i++)
   buf[i] = o.charCodeAt(i);
  var msg_bit_len = data_len * BYTE_BIT_LEN
  buf[data_len] = FIRST_FILL_BYTE;
  for(var i = 0;i < 4;i++) {
   buf[data_len + fill_data_len - 8 + i] =
    ((msg_bit_len & (0x000000ff << (i * 8)))
        >> (i * 8));
  }
  var md5_c = [MD5_A,MD5_B,MD5_C,MD5_D];
  var md5_code = [MD5_A,MD5_B,MD5_C,MD5_D];
  for(var m = 0;m < data_len + fill_data_len;m += 64) {
   var buf_p = new Array(16);
   for(var i = 0;i < 16;i++) {
    buf_p[i] = 0;
    for(var j = 0;j < 4;j++) {
     buf_p[i] <<= 8;
     buf_p[i] |= buf[m + j + i * 4];
    }
   }
   for(var k = 0;k < 16;k += 4) {
    md5_c[0] = FF(md5_c[0],md5_c[1],md5_c[2],
      md5_c[3],buf_p[k],7,md5_ti[k]);
    md5_c[3] = FF(md5_c[3],md5_c[0],md5_c[1],
      md5_c[2],buf_p[k + 1],12,
      md5_ti[k + 1]);
    md5_c[2] = FF(md5_c[2],md5_c[3],md5_c[0],
      md5_c[1],buf_p[k + 2],17,
      md5_ti[k + 2]);
    md5_c[1] = FF(md5_c[1],md5_c[2],md5_c[3],
      md5_c[0],buf_p[k + 3],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[0],md5_c[1],md5_c[2],
      buf_p[6],9,md5_ti[17]);
   md5_c[2] = GG(md5_c[2],md5_c[3],md5_c[0],md5_c[1],
      buf_p[11],14,md5_ti[18]);
   md5_c[1] = GG(md5_c[1],md5_c[2],md5_c[3],md5_c[0],
      buf_p[0],20,md5_ti[19]);

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

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

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

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

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

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

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

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

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

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

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

   for(var i = 0;i < 4;i++) {
    md5_code[i] += md5_c[i];
   }
   for(var i = 0;i < 4;i++) {
    md5_c[i] = md5_code[i];
   }
  }
  var md5_code_str =  "" + md5_code[0];
  for(var i = 1;i < 4;i++)
   md5_code_str += md5_code[i];
  return md5_code_str;
 };
}(jQuery));

function F(x,y,z)
{
 return (((x) & (y)) | ((~(x)) & (z)));
}

function G(x,y,z)
{
 return (((x) & (z)) | ((y) & (~(z))));
}

function H(x,y,z)
{
 return ((x) ^ (y) ^ (z));
}

function I(x,y,z)
{
 return ((y) ^ ((x) | (~(z))));
}

function bit_rol(d,n)
{
 return (((d) <<  (n)) | ((d) >> (32 - (n))));
}

function FF(a,b,c,d,m,s,t)
{
 return b + bit_rol((a + F(b,c,d) + m + t),s);
}

function GG(a,b,c,d,m,s,t)
{
 return b + bit_rol((a + G(b,c,d) + m + t),s);
}

function HH(a,b,c,d,m,s,t)
{
 return b + bit_rol((a + H(b,c,d) + m + t),s);
}

function II(a,b,c,d,m,s,t)
{
 return b + bit_rol((a + I(b,c,d) + m + t),s);
}

var 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
];
var BYTE_BIT_LEN = 8;
var MD5_BASE_LEN = 64;
var MD5_A = 0x67452301;
var MD5_B = 0xefcdab89;
var MD5_C = 0x98badcfe;
var MD5_D = 0x10325476;
var FIRST_FILL_BYTE = 0x80;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩性视频| 久久国内精品一国内精品| 国产女人18毛片水18精品| 亚洲aⅴ男人的天堂在线观看| 久久久久亚洲精品| 久久全国免费视频| 国产一区红桃视频| 色777狠狠综合秋免鲁丝| 97精品在线观看| 欧美专区福利在线| 91精品国产色综合久久不卡98口| 国产精品av电影| 日韩欧美在线免费观看| 国产欧美中文字幕| 久久久久亚洲精品成人网小说| 日本19禁啪啪免费观看www| 欧美日韩xxxxx| 亚洲第一精品久久忘忧草社区| 亚洲www视频| 在线免费看av不卡| 日韩av片免费在线观看| 伊人伊成久久人综合网站| 在线观看免费高清视频97| 国产97色在线| 51色欧美片视频在线观看| 亚洲欧美在线免费| 亚洲天堂av高清| 久久天天躁日日躁| 欧美日韩免费一区| 色哟哟网站入口亚洲精品| 日韩精品免费观看| 欧美精品videosex极品1| 日韩av有码在线| 热久久视久久精品18亚洲精品| 成人福利视频在线观看| 午夜精品一区二区三区在线播放| 亚洲欧美成人网| 欧美夜福利tv在线| 久久久精品在线观看| 国产色婷婷国产综合在线理论片a| 亚洲自拍偷拍在线| 69国产精品成人在线播放| 欧美最猛黑人xxxx黑人猛叫黄| 欧美www在线| 日韩精品在线观看视频| 美女精品视频一区| 久久久久成人精品| 欧美在线视频一二三| 国产精品电影久久久久电影网| 久久久久久亚洲精品| 中文字幕综合一区| 亚洲男子天堂网| 日韩69视频在线观看| 26uuu另类亚洲欧美日本老年| 国内精品久久久久久中文字幕| 欧美日韩精品中文字幕| 日韩视频第一页| 精品爽片免费看久久| 亚洲人成电影在线播放| 精品亚洲一区二区三区在线观看| 欧美性猛交xxxx乱大交3| 亚州欧美日韩中文视频| 91在线高清免费观看| 亚洲一区久久久| 91在线视频一区| 8050国产精品久久久久久| 精品亚洲精品福利线在观看| 成人欧美一区二区三区在线湿哒哒| 久久精品国产一区| 日韩av手机在线看| 91精品国产精品| 国产精品成av人在线视午夜片| 国产一区二区三区精品久久久| 欧美日韩在线观看视频| 国产成人精品免费久久久久| 欧美又大又粗又长| 国产精品黄色影片导航在线观看| 日韩二区三区在线| 日韩免费观看av| 欧美性色xo影院| 红桃视频成人在线观看| 久色乳综合思思在线视频| 国模私拍视频一区| 欧美激情影音先锋| 亚洲一区二区三区成人在线视频精品| 在线中文字幕日韩| 久久综合国产精品台湾中文娱乐网| 日本欧美爱爱爱| 亚州成人av在线| 欧美亚州一区二区三区| 欧美成人精品在线视频| 欧美一区二区三区艳史| 欧美高清无遮挡| 亚洲国产日韩精品在线| 精品女同一区二区三区在线播放| 欧美老少配视频| 亚洲美女又黄又爽在线观看| 欧美一级淫片播放口| 国产欧美一区二区三区视频| 国产精品免费观看在线| 亚洲欧美日本另类| 国产视频精品久久久| 亚洲变态欧美另类捆绑| 伊人久久大香线蕉av一区二区| 日韩中文字幕国产精品| 色yeye香蕉凹凸一区二区av| 久久精品久久久久久国产 免费| 欧美成aaa人片在线观看蜜臀| 精品亚洲一区二区三区在线播放| 91精品啪在线观看麻豆免费| 国产精品久久久久9999| 国产激情久久久| 亚洲在线观看视频网站| 色综合久久精品亚洲国产| 欧美中在线观看| 丝袜情趣国产精品| 另类视频在线观看| 91精品国产91久久久久福利| 69久久夜色精品国产7777| 欧美激情在线一区| 欧美性xxxxx极品娇小| 日韩欧美福利视频| 4438全国成人免费| 久久91亚洲精品中文字幕| 中文日韩在线视频| 亚洲精品mp4| 亚洲国产欧美一区二区三区久久| 成人在线国产精品| 亚洲午夜精品久久久久久性色| 91国产精品视频在线| 色诱女教师一区二区三区| 欧美电影在线免费观看网站| 成人免费在线视频网址| 97超碰蝌蚪网人人做人人爽| 欧美成人午夜激情在线| 97视频com| 日韩国产欧美区| 国产精品美乳一区二区免费| 亚洲韩国日本中文字幕| 成人高h视频在线| 国产精品美女av| 久久91超碰青草是什么| 久久久久久久久国产精品| 欧美精品久久久久久久免费观看| 欧美激情视频网站| 日韩精品在线免费| 91精品国产91久久久久久吃药| 亚洲激情视频在线| 色婷婷**av毛片一区| 日韩欧美在线视频日韩欧美在线视频| 日韩高清av一区二区三区| 日韩亚洲精品电影| 国产日韩精品入口| 九九热99久久久国产盗摄| 久久久999精品免费| 成人免费淫片aa视频免费| 成人av色在线观看| 色噜噜亚洲精品中文字幕| 国产精品久久激情| 欧美另类交人妖| 国产在线拍揄自揄视频不卡99| 亚洲香蕉在线观看| 精品美女国产在线| 亚洲欧美日韩高清|