亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? md4.js

?? 實例豐富經典
?? JS
字號:
/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD4 Message
 * Digest Algorithm, as defined in RFC 1320.
 * Version 2.1 Copyright (C) Jerrad Pierce, Paul Johnston 1999 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */

/*
 * Configurable variables. You may need to tweak these to be compatible with
 * the server-side, but the defaults work in most cases.
 */
var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */
var b64pad  = ""; /* base-64 pad character. "=" for strict RFC compliance   */
var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */

/*
 * These are the functions you'll usually want to call
 */
function hex_md4(s){ return binl2hex(core_md4(str2binl(s), s.length * chrsz));}
function b64_md4(s){ return binl2b64(core_md4(str2binl(s), s.length * chrsz));}
function str_md4(s){ return binl2str(core_md4(str2binl(s), s.length * chrsz));}
function hex_hmac_md4(key, data) { return binl2hex(core_hmac_md4(key, data)); }
function b64_hmac_md4(key, data) { return binl2b64(core_hmac_md4(key, data)); }
function str_hmac_md4(key, data) { return binl2str(core_hmac_md4(key, data)); }

/* 
 * Perform a simple self-test to see if the VM is working 
 */
function md4_vm_test()
{
  return hex_md4("abc") == "a448017aaf21d8525fc10ae87aa6729d";
}

/*
 * Calculate the MD4 of an array of little-endian words, and a bit length
 */
function core_md4(x, len)
{
  /* append padding */
  x[len >> 5] |= 0x80 << (len % 32);
  x[(((len + 64) >>> 9) << 4) + 14] = len;
  
  var a =  1732584193;
  var b = -271733879;
  var c = -1732584194;
  var d =  271733878;

  for(var i = 0; i < x.length; i += 16)
  {
    var olda = a;
    var oldb = b;
    var oldc = c;
    var oldd = d;

    a = md4_ff(a, b, c, d, x[i+ 0], 3 );
    d = md4_ff(d, a, b, c, x[i+ 1], 7 );
    c = md4_ff(c, d, a, b, x[i+ 2], 11);
    b = md4_ff(b, c, d, a, x[i+ 3], 19);
    a = md4_ff(a, b, c, d, x[i+ 4], 3 );
    d = md4_ff(d, a, b, c, x[i+ 5], 7 );
    c = md4_ff(c, d, a, b, x[i+ 6], 11);
    b = md4_ff(b, c, d, a, x[i+ 7], 19);
    a = md4_ff(a, b, c, d, x[i+ 8], 3 );
    d = md4_ff(d, a, b, c, x[i+ 9], 7 );
    c = md4_ff(c, d, a, b, x[i+10], 11);
    b = md4_ff(b, c, d, a, x[i+11], 19);
    a = md4_ff(a, b, c, d, x[i+12], 3 );
    d = md4_ff(d, a, b, c, x[i+13], 7 );
    c = md4_ff(c, d, a, b, x[i+14], 11);
    b = md4_ff(b, c, d, a, x[i+15], 19);

    a = md4_gg(a, b, c, d, x[i+ 0], 3 );
    d = md4_gg(d, a, b, c, x[i+ 4], 5 );
    c = md4_gg(c, d, a, b, x[i+ 8], 9 );
    b = md4_gg(b, c, d, a, x[i+12], 13);
    a = md4_gg(a, b, c, d, x[i+ 1], 3 );
    d = md4_gg(d, a, b, c, x[i+ 5], 5 );
    c = md4_gg(c, d, a, b, x[i+ 9], 9 );
    b = md4_gg(b, c, d, a, x[i+13], 13);
    a = md4_gg(a, b, c, d, x[i+ 2], 3 );
    d = md4_gg(d, a, b, c, x[i+ 6], 5 );
    c = md4_gg(c, d, a, b, x[i+10], 9 );
    b = md4_gg(b, c, d, a, x[i+14], 13);
    a = md4_gg(a, b, c, d, x[i+ 3], 3 );
    d = md4_gg(d, a, b, c, x[i+ 7], 5 );
    c = md4_gg(c, d, a, b, x[i+11], 9 );
    b = md4_gg(b, c, d, a, x[i+15], 13);

    a = md4_hh(a, b, c, d, x[i+ 0], 3 );
    d = md4_hh(d, a, b, c, x[i+ 8], 9 );
    c = md4_hh(c, d, a, b, x[i+ 4], 11);
    b = md4_hh(b, c, d, a, x[i+12], 15);
    a = md4_hh(a, b, c, d, x[i+ 2], 3 );
    d = md4_hh(d, a, b, c, x[i+10], 9 );
    c = md4_hh(c, d, a, b, x[i+ 6], 11);
    b = md4_hh(b, c, d, a, x[i+14], 15);
    a = md4_hh(a, b, c, d, x[i+ 1], 3 );
    d = md4_hh(d, a, b, c, x[i+ 9], 9 );
    c = md4_hh(c, d, a, b, x[i+ 5], 11);
    b = md4_hh(b, c, d, a, x[i+13], 15);
    a = md4_hh(a, b, c, d, x[i+ 3], 3 );
    d = md4_hh(d, a, b, c, x[i+11], 9 );
    c = md4_hh(c, d, a, b, x[i+ 7], 11);
    b = md4_hh(b, c, d, a, x[i+15], 15);

    a = safe_add(a, olda);
    b = safe_add(b, oldb);
    c = safe_add(c, oldc);
    d = safe_add(d, oldd);

  }
  return Array(a, b, c, d);

}

/*
 * These functions implement the basic operation for each round of the
 * algorithm.
 */
function md4_cmn(q, a, b, x, s, t)
{
  return safe_add(rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
}
function md4_ff(a, b, c, d, x, s)
{
  return md4_cmn((b & c) | ((~b) & d), a, 0, x, s, 0);
}
function md4_gg(a, b, c, d, x, s)
{
  return md4_cmn((b & c) | (b & d) | (c & d), a, 0, x, s, 1518500249);
}
function md4_hh(a, b, c, d, x, s)
{
  return md4_cmn(b ^ c ^ d, a, 0, x, s, 1859775393);
}

/*
 * Calculate the HMAC-MD4, of a key and some data
 */
function core_hmac_md4(key, data)
{
  var bkey = str2binl(key);
  if(bkey.length > 16) bkey = core_md4(bkey, key.length * chrsz);

  var ipad = Array(16), opad = Array(16);
  for(var i = 0; i < 16; i++) 
  {
    ipad[i] = bkey[i] ^ 0x36363636;
    opad[i] = bkey[i] ^ 0x5C5C5C5C;
  }

  var hash = core_md4(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
  return core_md4(opad.concat(hash), 512 + 128);
}

/*
 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
 * to work around bugs in some JS interpreters.
 */
function safe_add(x, y)
{
  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}

/*
 * Bitwise rotate a 32-bit number to the left.
 */
function rol(num, cnt)
{
  return (num << cnt) | (num >>> (32 - cnt));
}

/*
 * Convert a string to an array of little-endian words
 * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
 */
function str2binl(str)
{
  var bin = Array();
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < str.length * chrsz; i += chrsz)
    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
  return bin;
}

/*
 * Convert an array of little-endian words to a string
 */
function binl2str(bin)
{
  var str = "";
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < bin.length * 32; i += chrsz)
    str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  return str;
}

/*
 * Convert an array of little-endian words to a hex string.
 */
function binl2hex(binarray)
{
  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i++)
  {
    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);
  }
  return str;
}

/*
 * Convert an array of little-endian words to a base-64 string
 */
function binl2b64(binarray)
{
  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i += 3)
  {
    var triplet = (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) << 16)
                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
    for(var j = 0; j < 4; j++)
    {
      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费高清在线一区| 美女脱光内衣内裤视频久久影院| 亚洲免费观看视频| 五月天激情小说综合| 亚洲精选在线视频| 婷婷一区二区三区| 国产.欧美.日韩| 欧美性受xxxx黑人xyx| 欧美精选一区二区| 久久一区二区视频| 日本一区二区三区dvd视频在线| 亚洲欧美日本韩国| 国产综合久久久久久鬼色| 色先锋aa成人| 国产欧美一区二区精品性色| 香蕉久久夜色精品国产使用方法| 国产乱色国产精品免费视频| av不卡在线观看| 欧美mv和日韩mv国产网站| 午夜精品久久久久久久99樱桃| 91欧美一区二区| 亚洲国产岛国毛片在线| 国产一区二区在线影院| 日韩欧美的一区二区| 奇米精品一区二区三区在线观看| 色婷婷国产精品| 亚洲天堂a在线| 91原创在线视频| 亚洲人成网站色在线观看| 成人av资源网站| 国产精品久久99| 不卡的电影网站| 成人欧美一区二区三区白人| 成人精品视频.| 亚洲欧洲精品一区二区三区不卡| 国产成人精品影视| 中文字幕av在线一区二区三区| 国产精品原创巨作av| 国产清纯在线一区二区www| 国产精品中文字幕一区二区三区| 26uuu久久天堂性欧美| 国产一区二区三区黄视频 | 欧美第一区第二区| 精品无人码麻豆乱码1区2区| 久久久综合九色合综国产精品| 韩国女主播一区二区三区| 久久综合色之久久综合| 成人免费视频播放| 亚洲欧美在线另类| 欧美日韩在线亚洲一区蜜芽| 欧美a一区二区| 国产日韩欧美a| 色网综合在线观看| 日韩精品每日更新| 久久精品亚洲麻豆av一区二区| 国产91丝袜在线播放九色| 亚洲欧洲日产国码二区| 欧美性高清videossexo| 久久精品国产在热久久| 国产欧美日韩不卡免费| 欧亚洲嫩模精品一区三区| 三级欧美在线一区| 国产调教视频一区| 欧美午夜电影网| 精品系列免费在线观看| 亚洲美女淫视频| 日韩精品一区二区三区在线| 99国产一区二区三精品乱码| 五月开心婷婷久久| 国产精品全国免费观看高清| 欧美色图12p| 国产成人在线视频免费播放| 亚洲国产视频直播| 国产日韩综合av| 欧美精品tushy高清| 国产98色在线|日韩| 日韩高清不卡一区二区| 久久久不卡影院| 91精品国产高清一区二区三区蜜臀 | 亚洲一级电影视频| 久久综合色播五月| 9191久久久久久久久久久| 成人精品视频.| 激情国产一区二区| 天堂av在线一区| 亚洲人成7777| 国产欧美日产一区| 精品国产露脸精彩对白| 欧美日韩国产123区| 一本大道久久精品懂色aⅴ| 国产九色sp调教91| 免费在线视频一区| 午夜欧美一区二区三区在线播放| 中文字幕国产一区二区| 日韩区在线观看| 欧美性xxxxxx少妇| 色欲综合视频天天天| 国产99精品视频| 精品写真视频在线观看 | 亚洲欧美韩国综合色| 日韩三区在线观看| 欧美精品色一区二区三区| 97精品久久久久中文字幕 | 激情小说欧美图片| 日韩黄色在线观看| 午夜视频在线观看一区二区三区| 亚洲丝袜另类动漫二区| 国产亚洲va综合人人澡精品| 欧美sm美女调教| 欧美成人精品高清在线播放| 欧美一二三区在线| 日韩欧美一区二区在线视频| 在线成人免费观看| 欧美日韩国产高清一区| 欧美精品在线视频| 欧美高清视频在线高清观看mv色露露十八 | 欧美日韩一二三区| 欧美日韩日日摸| 精品污污网站免费看| 欧美日韩亚洲不卡| 91精品国产品国语在线不卡| 91精品国产综合久久精品麻豆| 欧美日韩一级视频| 日韩一区二区在线看| www亚洲一区| 中文久久乱码一区二区| 国产精品免费丝袜| 亚洲精品中文字幕乱码三区| 玉米视频成人免费看| 亚洲成人动漫一区| 久久精品国产秦先生| 国产精品一区二区久久不卡 | 国产中文一区二区三区| 国产主播一区二区三区| 成人在线综合网站| 色婷婷久久一区二区三区麻豆| 一本大道av伊人久久综合| 欧美日韩国产高清一区二区三区| 欧美电视剧免费全集观看| 精品亚洲porn| 99久久伊人精品| 成人黄色电影在线| 一本一道久久a久久精品综合蜜臀| 成人国产精品免费观看| 欧美日韩国产不卡| 高清shemale亚洲人妖| 一本久久a久久免费精品不卡| 91精品国产一区二区| 国产三级精品三级在线专区| 亚洲午夜在线电影| 国产一区 二区| 欧美午夜不卡视频| 久久久久久久久蜜桃| 亚洲小少妇裸体bbw| 精品无人区卡一卡二卡三乱码免费卡| 激情六月婷婷综合| 99re在线精品| 欧美丰满嫩嫩电影| 国产精品久久毛片a| 亚洲成a人片综合在线| 亚洲欧美日韩国产中文在线| 美女视频一区在线观看| 懂色中文一区二区在线播放| 在线观看网站黄不卡| 在线日韩国产精品| 精品福利一二区| 亚洲一区二区三区四区在线观看 | www国产成人免费观看视频 深夜成人网| 久久亚区不卡日本| 亚洲欧美视频在线观看视频| 午夜视频在线观看一区| 国产在线国偷精品免费看| 欧美日韩一区二区三区高清| 26uuu欧美| 亚洲国产精品麻豆| 国产激情视频一区二区三区欧美| 欧美精品日韩精品| 成人欧美一区二区三区在线播放| 日韩成人免费电影| 一本大道久久a久久综合婷婷| 久久影视一区二区| 婷婷夜色潮精品综合在线| 成人看片黄a免费看在线| 色88888久久久久久影院按摩| 国产清纯美女被跳蛋高潮一区二区久久w| 日产国产高清一区二区三区| 欧美天堂一区二区三区| 日韩欧美国产综合| 成人免费毛片aaaaa**| 国产在线播放一区| 欧美日韩你懂的| 久久久欧美精品sm网站| 精品中文字幕一区二区小辣椒| 欧美综合视频在线观看| 国产精品午夜久久| 在线观看日韩精品| 亚洲人快播电影网| 国产成人自拍高清视频在线免费播放| 欧美丝袜丝nylons| 日韩国产精品久久|