md5-vd

Benchmark created by Van Damm on


Preparation HTML

<script>
  /**
   *
   *  MD5 (Message-Digest Algorithm)
   *  http://www.webtoolkit.info/
   *
   **/
  
  var MD5 = function(string) {
  
      function RotateLeft(lValue, iShiftBits) {
        return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
      }
  
      function AddUnsigned(lX, lY) {
        var lX4, lY4, lX8, lY8, lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
          return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
          if (lResult & 0x40000000) {
            return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
          } else {
            return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
          }
        } else {
          return (lResult ^ lX8 ^ lY8);
        }
      }
  
      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 FF(a, b, c, d, x, s, ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
      };
  
      function GG(a, b, c, d, x, s, ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
      };
  
      function HH(a, b, c, d, x, s, ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
      };
  
      function II(a, b, c, d, x, s, ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
      };
  
      function ConvertToWordArray(string) {
        var lWordCount;
        var lMessageLength = string.length;
        var lNumberOfWords_temp1 = lMessageLength + 8;
        var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
        var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
        var lWordArray = Array(lNumberOfWords - 1);
        var lBytePosition = 0;
        var lByteCount = 0;
        while (lByteCount < lMessageLength) {
          lWordCount = (lByteCount - (lByteCount % 4)) / 4;
          lBytePosition = (lByteCount % 4) * 8;
          lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));
          lByteCount++;
        }
        lWordCount = (lByteCount - (lByteCount % 4)) / 4;
        lBytePosition = (lByteCount % 4) * 8;
        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
        lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
        lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
        return lWordArray;
      };
  
      function WordToHex(lValue) {
        var WordToHexValue = "",
            WordToHexValue_temp = "",
            lByte, lCount;
        for (lCount = 0; lCount <= 3; lCount++) {
          lByte = (lValue >>> (lCount * 8)) & 255;
          WordToHexValue_temp = "0" + lByte.toString(16);
          WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
        }
        return WordToHexValue;
      };
  
      function Utf8Encode(string) {
        string = string.replace(/\r\n/g, "\n");
        var utftext = "";
  
        for (var n = 0; n < string.length; n++) {
  
          var c = string.charCodeAt(n);
  
          if (c < 128) {
            utftext += String.fromCharCode(c);
          } else if ((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
          } else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
          }
  
        }
  
        return utftext;
      };
  
      var x = Array();
      var k, AA, BB, CC, DD, a, b, c, d;
      var S11 = 7,
          S12 = 12,
          S13 = 17,
          S14 = 22;
      var S21 = 5,
          S22 = 9,
          S23 = 14,
          S24 = 20;
      var S31 = 4,
          S32 = 11,
          S33 = 16,
          S34 = 23;
      var S41 = 6,
          S42 = 10,
          S43 = 15,
          S44 = 21;
  
      string = Utf8Encode(string);
  
      x = ConvertToWordArray(string);
  
      a = 0x67452301;
      b = 0xEFCDAB89;
      c = 0x98BADCFE;
      d = 0x10325476;
  
      for (k = 0; k < x.length; k += 16) {
        AA = a;
        BB = b;
        CC = c;
        DD = d;
        a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
        d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
        c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
        b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
        a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
        d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
        c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
        b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
        a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
        d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
        c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
        b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
        a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
        d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
        c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
        b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
        a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
        d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
        c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
        b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
        a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
        d = GG(d, a, b, c, x[k + 10], S22, 0x2441453);
        c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
        b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
        a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
        d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
        c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
        b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
        a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
        d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
        c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
        b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
        a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
        d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
        c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
        b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
        a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
        d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
        c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
        b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
        a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
        d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
        c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
        b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
        a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
        d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
        c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
        b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
        a = II(a, b, c, d, x[k + 0], S41, 0xF4292244);
        d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
        c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
        b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
        a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
        d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
        c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
        b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
        a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
        d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
        c = II(c, d, a, b, x[k + 6], S43, 0xA3014314);
        b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
        a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
        d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
        c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
        b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
        a = AddUnsigned(a, AA);
        b = AddUnsigned(b, BB);
        c = AddUnsigned(c, CC);
        d = AddUnsigned(d, DD);
      }
  
      var temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d);
  
      return temp.toLowerCase();
      }
      
  var md5 = function(input) {
  
  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
   * They take string arguments and return either hex or base-64 encoded strings
   */
  function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
  function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
  function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
  function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
  function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
  function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
  
  /*
   * Calculate the MD5 of an array of little-endian words, and a bit length
   */
  function core_md5(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 = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
      d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
      c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
      b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
      a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
      d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
      c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
      b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
      a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
      d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
      c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
      b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
      a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
      d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
      c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
      b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
  
      a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
      d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
      c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
      b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
      a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
      d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
      c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
      b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
      a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
      d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
      c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
      b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
      a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
      d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
      c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
      b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
  
      a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
      d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
      c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
      b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
      a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
      d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
      c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
      b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
      a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
      d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
      c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
      b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
      a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
      d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
      c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
      b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
  
      a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
      d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
      c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
      b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
      a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
      d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
      c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
      b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
      a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
      d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
      c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
      b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
      a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
      d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
      c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
      b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
  
      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 four basic operations the algorithm uses.
   */
  function md5_cmn(q, a, b, x, s, t)
  {
    return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
  }
  function md5_ff(a, b, c, d, x, s, t)
  {
    return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
  }
  function md5_gg(a, b, c, d, x, s, t)
  {
    return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
  }
  function md5_hh(a, b, c, d, x, s, t)
  {
    return md5_cmn(b ^ c ^ d, a, b, x, s, t);
  }
  function md5_ii(a, b, c, d, x, s, t)
  {
    return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
  }
  
  /*
   * Calculate the HMAC-MD5, of a key and some data
   */
  function core_hmac_md5(key, data)
  {
    var bkey = str2binl(key);
    if(bkey.length > 16) bkey = core_md5(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_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
    return core_md5(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 bit_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 = new 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;
  }
  
  function str_to_ent(str)
  {
        var result = '';
        var i;
  
        for (i = 0; i < str.length; i++)
        {
                var c = str.charCodeAt(i);
                var tmp = '';
  
                if (c > 255)
                {
  
                        while (c >= 1)
                        {
                                tmp = "0123456789" . charAt(c % 10) + tmp;
                                c = c / 10;
                        }
  
                        if (tmp == '')
                        {
                                tmp = "0";
                        }
                        tmp = "#" + tmp;
                        tmp = "&" + tmp;
                        tmp = tmp + ";";
  
                        result += tmp;
                }
                else
                {
                        result += str.charAt(i);
                }
        }
        return result;
  }
  
  function trim(s)
  {
        while (s.substring(0, 1) == ' ')
        {
                s = s.substring(1, s.length);
        }
        while (s.substring(s.length-1, s.length) == ' ')
        {
                s = s.substring(0, s.length-1);
        }
        return s;
  }
  
      var md5string = hex_md5(str_to_ent(trim(input)));
      return md5string;
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
MD5
MD5("1280/1024/32/undefined/undefined/undefined/undefined/1094027898language=en-USproduct=GeckomimeTypes=[object DOMMimeTypeArray]appVersion=5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.81 Safari/535.2plugins=[object DOMPluginArray]onLine=trueplatform=Win32vendor=Google Inc.appCodeName=MozillacookieEnabled=truegeolocation=[object Geolocation]appName=NetscapeproductSub=20030107userAgent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.81 Safari/535.2vendorSub=javaEnabled=function javaEnabled() { [native code] }getStorageUpdates=function getStorageUpdates() { [native code] }registerProtocolHandler=function registerProtocolHandler() { [native code] }0=[object DOMPlugin]1=[object DOMPlugin]2=[object DOMPlugin]3=[object DOMPlugin]4=[object DOMPlugin]5=[object DOMPlugin]6=[object DOMPlugin]7=[object DOMPlugin]8=[object DOMPlugin]9=[object DOMPlugin]10=[object DOMPlugin]11=[object DOMPlugin]12=[object DOMPlugin]13=[object DOMPlugin]14=[object DOMPlugin]15=[object DOMPlugin]16=[object DOMPlugin]17=[object DOMPlugin]18=[object DOMPlugin]19=[object DOMPlugin]20=[object DOMPlugin]21=[object DOMPlugin]22=[object DOMPlugin]23=[object DOMPlugin]24=[object DOMPlugin]25=[object DOMPlugin]length=26item=function item() { [native code] }namedItem=function namedItem() { [native code] }refresh=function refresh() { [native code] }0=[object DOMMimeType]1=[object DOMMimeType]2=[object DOMMimeType]3=[object DOMMimeType]4=[object DOMMimeType]5=[object DOMMimeType]6=[object DOMMimeType]7=[object DOMMimeType]8=[object DOMMimeType]9=[object DOMMimeType]10=[object DOMMimeType]11=[object DOMMimeType]12=[object DOMMimeType]13=[object DOMMimeType]14=[object DOMMimeType]15=[object DOMMimeType]16=[object DOMMimeType]17=[object DOMMimeType]18=[object DOMMimeType]19=[object DOMMimeType]20=[object DOMMimeType]21=[object DOMMimeType]22=[object DOMMimeType]23=[object DOMMimeType]24=[object DOMMimeType]25=[object DOMMimeType]26=[object DOMMimeType]27=[object DOMMimeType]28=[object DOMMimeType]29=[object DOMMimeType]30=[object DOMMimeType]31=[object DOMMimeType]32=[object DOMMimeType]33=[object DOMMimeType]34=[object DOMMimeType]35=[object DOMMimeType]36=[object DOMMimeType]37=[object DOMMimeType]38=[object DOMMimeType]39=[object DOMMimeType]40=[object DOMMimeType]41=[object DOMMimeType]42=[object DOMMimeType]43=[object DOMMimeType]44=[object DOMMimeType]45=[object DOMMimeType]46=[object DOMMimeType]47=[object DOMMimeType]48=[object DOMMimeType]49=[object DOMMimeType]50=[object DOMMimeType]51=[object DOMMimeType]52=[object DOMMimeType]53=[object DOMMimeType]54=[object DOMMimeType]55=[object DOMMimeType]56=[object DOMMimeType]57=[object DOMMimeType]58=[object DOMMimeType]59=[object DOMMimeType]60=[object DOMMimeType]61=[object DOMMimeType]62=[object DOMMimeType]63=[object DOMMimeType]64=[object DOMMimeType]65=[object DOMMimeType]66=[object DOMMimeType]67=[object DOMMimeType]68=[object DOMMimeType]69=[object DOMMimeType]70=[object DOMMimeType]71=[object DOMMimeType]72=[object DOMMimeType]73=[object DOMMimeType]74=[object DOMMimeType]75=[object DOMMimeType]76=[object DOMMimeType]77=[object DOMMimeType]78=[object DOMMimeType]79=[object DOMMimeType]80=[object DOMMimeType]81=[object DOMMimeType]82=[object DOMMimeType]83=[object DOMMimeType]84=[object DOMMimeType]85=[object DOMMimeType]86=[object DOMMimeType]87=[object DOMMimeType]88=[object DOMMimeType]89=[object DOMMimeType]90=[object DOMMimeType]91=[object DOMMimeType]92=[object DOMMimeType]93=[object DOMMimeType]94=[object DOMMimeType]95=[object DOMMimeType]96=[object DOMMimeType]97=[object DOMMimeType]98=[object DOMMimeType]99=[object DOMMimeType]100=[object DOMMimeType]101=[object DOMMimeType]102=[object DOMMimeType]103=[object DOMMimeType]104=[object DOMMimeType]105=[object DOMMimeType]106=[object DOMMimeType]length=107item=function item() { [native code] }namedItem=function namedItem() { [native code] }");
ready
md5
md5("1280/1024/32/undefined/undefined/undefined/undefined/1094027898language=en-USproduct=GeckomimeTypes=[object DOMMimeTypeArray]appVersion=5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.81 Safari/535.2plugins=[object DOMPluginArray]onLine=trueplatform=Win32vendor=Google Inc.appCodeName=MozillacookieEnabled=truegeolocation=[object Geolocation]appName=NetscapeproductSub=20030107userAgent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.81 Safari/535.2vendorSub=javaEnabled=function javaEnabled() { [native code] }getStorageUpdates=function getStorageUpdates() { [native code] }registerProtocolHandler=function registerProtocolHandler() { [native code] }0=[object DOMPlugin]1=[object DOMPlugin]2=[object DOMPlugin]3=[object DOMPlugin]4=[object DOMPlugin]5=[object DOMPlugin]6=[object DOMPlugin]7=[object DOMPlugin]8=[object DOMPlugin]9=[object DOMPlugin]10=[object DOMPlugin]11=[object DOMPlugin]12=[object DOMPlugin]13=[object DOMPlugin]14=[object DOMPlugin]15=[object DOMPlugin]16=[object DOMPlugin]17=[object DOMPlugin]18=[object DOMPlugin]19=[object DOMPlugin]20=[object DOMPlugin]21=[object DOMPlugin]22=[object DOMPlugin]23=[object DOMPlugin]24=[object DOMPlugin]25=[object DOMPlugin]length=26item=function item() { [native code] }namedItem=function namedItem() { [native code] }refresh=function refresh() { [native code] }0=[object DOMMimeType]1=[object DOMMimeType]2=[object DOMMimeType]3=[object DOMMimeType]4=[object DOMMimeType]5=[object DOMMimeType]6=[object DOMMimeType]7=[object DOMMimeType]8=[object DOMMimeType]9=[object DOMMimeType]10=[object DOMMimeType]11=[object DOMMimeType]12=[object DOMMimeType]13=[object DOMMimeType]14=[object DOMMimeType]15=[object DOMMimeType]16=[object DOMMimeType]17=[object DOMMimeType]18=[object DOMMimeType]19=[object DOMMimeType]20=[object DOMMimeType]21=[object DOMMimeType]22=[object DOMMimeType]23=[object DOMMimeType]24=[object DOMMimeType]25=[object DOMMimeType]26=[object DOMMimeType]27=[object DOMMimeType]28=[object DOMMimeType]29=[object DOMMimeType]30=[object DOMMimeType]31=[object DOMMimeType]32=[object DOMMimeType]33=[object DOMMimeType]34=[object DOMMimeType]35=[object DOMMimeType]36=[object DOMMimeType]37=[object DOMMimeType]38=[object DOMMimeType]39=[object DOMMimeType]40=[object DOMMimeType]41=[object DOMMimeType]42=[object DOMMimeType]43=[object DOMMimeType]44=[object DOMMimeType]45=[object DOMMimeType]46=[object DOMMimeType]47=[object DOMMimeType]48=[object DOMMimeType]49=[object DOMMimeType]50=[object DOMMimeType]51=[object DOMMimeType]52=[object DOMMimeType]53=[object DOMMimeType]54=[object DOMMimeType]55=[object DOMMimeType]56=[object DOMMimeType]57=[object DOMMimeType]58=[object DOMMimeType]59=[object DOMMimeType]60=[object DOMMimeType]61=[object DOMMimeType]62=[object DOMMimeType]63=[object DOMMimeType]64=[object DOMMimeType]65=[object DOMMimeType]66=[object DOMMimeType]67=[object DOMMimeType]68=[object DOMMimeType]69=[object DOMMimeType]70=[object DOMMimeType]71=[object DOMMimeType]72=[object DOMMimeType]73=[object DOMMimeType]74=[object DOMMimeType]75=[object DOMMimeType]76=[object DOMMimeType]77=[object DOMMimeType]78=[object DOMMimeType]79=[object DOMMimeType]80=[object DOMMimeType]81=[object DOMMimeType]82=[object DOMMimeType]83=[object DOMMimeType]84=[object DOMMimeType]85=[object DOMMimeType]86=[object DOMMimeType]87=[object DOMMimeType]88=[object DOMMimeType]89=[object DOMMimeType]90=[object DOMMimeType]91=[object DOMMimeType]92=[object DOMMimeType]93=[object DOMMimeType]94=[object DOMMimeType]95=[object DOMMimeType]96=[object DOMMimeType]97=[object DOMMimeType]98=[object DOMMimeType]99=[object DOMMimeType]100=[object DOMMimeType]101=[object DOMMimeType]102=[object DOMMimeType]103=[object DOMMimeType]104=[object DOMMimeType]105=[object DOMMimeType]106=[object DOMMimeType]length=107item=function item() { [native code] }namedItem=function namedItem() { [native code] }");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by Van Damm on