免费刷金币,请点击这里
TE社区 > 前端技术
客服QQ:1206116161

Javascript脚本实现静态网页加密实例代码

spkingjoy 于 2018-02-09 20:00:39 创建话题
(39)
(0)
举报

Javascript脚本实现静态网页加密,阅读Javascript脚本实现静态网页加密,前两天看见有人问静态网页加密问题,就写了这个代码思路:加密时:先把用户的密钥A用md5加密为B,然后用B异或源文件S0得到目标文件S1,把S1存入js变量中。解密时:询问密钥,然后操作同加密

前两天看见有人问静态网页加密问题,就写了这个代码

思路:

加密时:先把用户的密钥A用md5加密为B,然后用B异或源文件S0得到目标文件S1,把S1存入js变量中。

解密时:询问密钥,然后操作同加密。

因为用了md5,个人认为没有密钥的时候是无法破解的(暴力除外)

大家试用一下哈哈:

源代码如下:

代码如下:

<html>
<head>
<title>Web Encoder</title>
<style>
body {
 font-size:12px;
 line-height:12px;
 background-Color:buttonface;
 border-width:0px;
 overflow:auto;
 margin:0px;
 padding:4px;
}

#t1, #t2 {
 width:100%;
 height:40%;
 border-width:1px;
 overflow:auto;
 height:expression((document.body.clientHeight-100)/2);
}

input {
 border-width:1px;
 padding-left:10px;
 padding-right:10px;
 margin:4px;
}
</style>
<script>
function webEncode(){
 strSource=escape(XOR(t1.value,STR.md5(p1.value)));
 //strSource=t1.value;
 strOut="<script>\r\nstrHTML=\"\";\r\n";
 for(var i=0;i+70<strSource.length;i+=70){
  strOut+="strHTML+=\""+addSlash(strSource.substring(i,i+70))+"\";\r\n";
 }
 strOut+="strHTML+=\""+addSlash(strSource.substring(i,strSource.length))+"\";\r\n";
 strOut+=XOR+"\r\n";

 //below code load the STR object
 strOut+="var STR =\r\n{\r\n\thexcase : 0,  \/* hex output format. 0 - lowercase; 1 - ";
 strOut+="uppercase        *\/\r\n\tb64pad  : \"\", \/* base-64 pad character. \"=\" for ";
 strOut+="strict RFC compliance   *\/\r\n\tchrsz   : 8,  \/* bits per input character";
 strOut+=". 8 - ASCII; 16 - Unicode      *\/\r\n\t\r\n\tb64_hmac_md5:\r\n\t\tfunction(key, ";
 strOut+="data) { return binl2b64(core_hmac_md5(key, data)); },\r\n\t\t\r\n\tb64_md5:\r\n";
 strOut+="\t\tfunction(s){ return binl2b64(core_md5(str2binl(s), s.length * this.c";
 strOut+="hrsz));},\r\n\t\t\r\n\tbinl2b64:\r\n\t\tfunction(binarray){\r\n\t\t  var tab = \"ABCDE";
 strOut+="FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/\";\r\n\t\t  var";
 strOut+=" str = \"\";\r\n\t\t  for(var i = 0; i < binarray.length * 4; i += 3)\r\n\t\t  {";
 strOut+="\r\n\t\t    var triplet = (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) ";
 strOut+="<< 16)\r\n\t\t                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & ";
 strOut+="0xFF) << 8 )\r\n\t\t                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%";
 strOut+="4)) & 0xFF);\r\n\t\t    for(var j = 0; j < 4; j++)\r\n\t\t    {\r\n\t\t      if(i ";
 strOut+="* 8 + j * 6 > binarray.length * 32) str += this.b64pad;\r\n\t\t      else ";
 strOut+="str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);\r\n\t\t    }\r\n\t\t  }\r\n\t\t  r";
 strOut+="eturn str;\r\n\t\t},\r\n\t\t\r\n\tbinl2hex:\r\n\t\tfunction(binarray){\r\n\t\t  var hex_t";
 strOut+="ab = this.hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n\t\t  var ";
 strOut+="str = \"\";\r\n\t\t  for(var i = 0; i < binarray.length * 4; i++)\r\n\t\t  {\r\n\t\t";
 strOut+="    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +\r\n\t\t";
 strOut+="           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);\r\n\t\t ";
 strOut+=" }\r\n\t\t  return str;\r\n\t\t},\r\n\t\r\n\tbinl2str:\r\n\t\tfunction(bin){\r\n\t\t  var st";
 strOut+="r = \"\";\r\n\t\t  var mask = (1 << this.chrsz) - 1;\r\n\t\t  for(var i = 0; i <";
 strOut+=" bin.length * 32; i += this.chrsz)\r\n\t\t    str += String.fromCharCode((";
 strOut+="bin[i>>5] >>> (i % 32)) & mask);\r\n\t\t  return str;\r\n\t\t},\r\n\t\t\r\n\tbit_rol:";
 strOut+="\r\n\t\tfunction(num, cnt){return (num << cnt) | (num >>> (32 - cnt));},\r\n";
 strOut+="\t\t\r\n\tcore_hmac_md5:\r\n\t\tfunction(key, data){\r\n\t\t  var bkey = str2binl(k";
 strOut+="ey);\r\n\t\t  if(bkey.length > 16) bkey = core_md5(bkey, key.length * this";
 strOut+=".chrsz);\r\n\t\t\r\n\t\t  var ipad = Array(16), opad = Array(16);\r\n\t\t  for(var";
 strOut+=" i = 0; i < 16; i++)\r\n\t\t  {\r\n\t\t    ipad[i] = bkey[i] ^ 0x36363636;\r\n\t\t";
 strOut+="    opad[i] = bkey[i] ^ 0x5C5C5C5C;\r\n\t\t  }\r\n\t\t\r\n\t\t  var hash = core_md";
 strOut+="5(ipad.concat(str2binl(data)), 512 + data.length * this.chrsz);\r\n\t\t  r";
 strOut+="eturn core_md5(opad.concat(hash), 512 + 128);\r\n\t\t},\r\n\t\t\r\n\tcore_md5:\r\n\t";
 strOut+="\tfunction(x, len){\r\n\t\t  \/* append padding *\/\r\n\t\t  x[len >> 5] |= 0x80 ";
 strOut+="<< ((len) % 32);\r\n\t\t  x[(((len + 64) >>> 9) << 4) + 14] = len;\r\n\t\t\r\n\t\t";
 strOut+="  var a =  1732584193;\r\n\t\t  var b = -271733879;\r\n\t\t  var c = -17325841";
 strOut+="94;\r\n\t\t  var d =  271733878;\r\n\t\t\r\n\t\t  for(var i = 0; i < x.length; i +";
 strOut+="= 16)\r\n\t\t  {\r\n\t\t    var olda = a;\r\n\t\t    var oldb = b;\r\n\t\t    var oldc";
 strOut+=" = c;\r\n\t\t    var oldd = d;\r\n\t\t\r\n\t\t    a = this.md5_ff(a, b, c, d, x[i+";
 strOut+=" 0], 7 , -680876936);\r\n\t\t    d = this.md5_ff(d, a, b, c, x[i+ 1], 12, ";
 strOut+="-389564586);\r\n\t\t    c = this.md5_ff(c, d, a, b, x[i+ 2], 17,  60610581";
 strOut+="9);\r\n\t\t    b = this.md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);\r\n\t\t ";
 strOut+="   a = this.md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);\r\n\t\t    d = th";
 strOut+="is.md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);\r\n\t\t    c = this.md5_f";
 strOut+="f(c, d, a, b, x[i+ 6], 17, -1473231341);\r\n\t\t    b = this.md5_ff(b, c, ";
 strOut+="d, a, x[i+ 7], 22, -45705983);\r\n\t\t    a = this.md5_ff(a, b, c, d, x[i+";
 strOut+=" 8], 7 ,  1770035416);\r\n\t\t    d = this.md5_ff(d, a, b, c, x[i+ 9], 12,";
 strOut+=" -1958414417);\r\n\t\t    c = this.md5_ff(c, d, a, b, x[i+10], 17, -42063)";
 strOut+=";\r\n\t\t    b = this.md5_ff(b, c, d, a, x[i+11], 22, -1990404162);\r\n\t\t   ";
 strOut+=" a = this.md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);\r\n\t\t    d = thi";
 strOut+="s.md5_ff(d, a, b, c, x[i+13], 12, -40341101);\r\n\t\t    c = this.md5_ff(c";
 strOut+=", d, a, b, x[i+14], 17, -1502002290);\r\n\t\t    b = this.md5_ff(b, c, d, ";
 strOut+="a, x[i+15], 22,  1236535329);\r\n\t\t\r\n\t\t    a = this.md5_gg(a, b, c, d, x";
 strOut+="[i+ 1], 5 , -165796510);\r\n\t\t    d = this.md5_gg(d, a, b, c, x[i+ 6], 9";
 strOut+=" , -1069501632);\r\n\t\t    c = this.md5_gg(c, d, a, b, x[i+11], 14,  6437";
 strOut+="17713);\r\n\t\t    b = this.md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);\r\n";
 strOut+="\t\t    a = this.md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);\r\n\t\t    d =";
 strOut+=" this.md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);\r\n\t\t    c = this.md5_";
 strOut+="gg(c, d, a, b, x[i+15], 14, -660478335);\r\n\t\t    b = this.md5_gg(b, c, ";
 strOut+="d, a, x[i+ 4], 20, -405537848);\r\n\t\t    a = this.md5_gg(a, b, c, d, x[i";
 strOut+="+ 9], 5 ,  568446438);\r\n\t\t    d = this.md5_gg(d, a, b, c, x[i+14], 9 ,";
 strOut+=" -1019803690);\r\n\t\t    c = this.md5_gg(c, d, a, b, x[i+ 3], 14, -187363";
 strOut+="961);\r\n\t\t    b = this.md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);\r\n\t";
 strOut+="\t    a = this.md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);\r\n\t\t    d =";
 strOut+=" this.md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);\r\n\t\t    c = this.md5_";
 strOut+="gg(c, d, a, b, x[i+ 7], 14,  1735328473);\r\n\t\t    b = this.md5_gg(b, c,";
 strOut+=" d, a, x[i+12], 20, -1926607734);\r\n\t\t\r\n\t\t    a = this.md5_hh(a, b, c, ";
 strOut+="d, x[i+ 5], 4 , -378558);\r\n\t\t    d = this.md5_hh(d, a, b, c, x[i+ 8], ";
 strOut+="11, -2022574463);\r\n\t\t    c = this.md5_hh(c, d, a, b, x[i+11], 16,  183";
 strOut+="9030562);\r\n\t\t    b = this.md5_hh(b, c, d, a, x[i+14], 23, -35309556);\r";
 strOut+="\n\t\t    a = this.md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);\r\n\t\t    d";
 strOut+=" = this.md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);\r\n\t\t    c = this.";
 strOut+="md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);\r\n\t\t    b = this.md5_hh(b,";
 strOut+=" c, d, a, x[i+10], 23, -1094730640);\r\n\t\t    a = this.md5_hh(a, b, c, d";
 strOut+=", x[i+13], 4 ,  681279174);\r\n\t\t    d = this.md5_hh(d, a, b, c, x[i+ 0]";
 strOut+=", 11, -358537222);\r\n\t\t    c = this.md5_hh(c, d, a, b, x[i+ 3], 16, -72";
 strOut+="2521979);\r\n\t\t    b = this.md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);\r";
 strOut+="\n\t\t    a = this.md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);\r\n\t\t    d ";
 strOut+="= this.md5_hh(d, a, b, c, x[i+12], 11, -421815835);\r\n\t\t    c = this.md";
 strOut+="5_hh(c, d, a, b, x[i+15], 16,  530742520);\r\n\t\t    b = this.md5_hh(b, c";
 strOut+=", d, a, x[i+ 2], 23, -995338651);\r\n\t\t\r\n\t\t    a = this.md5_ii(a, b, c, ";
 strOut+="d, x[i+ 0], 6 , -198630844);\r\n\t\t    d = this.md5_ii(d, a, b, c, x[i+ 7";
 strOut+="], 10,  1126891415);\r\n\t\t    c = this.md5_ii(c, d, a, b, x[i+14], 15, -";
 strOut+="1416354905);\r\n\t\t    b = this.md5_ii(b, c, d, a, x[i+ 5], 21, -57434055";
 strOut+=");\r\n\t\t    a = this.md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);\r\n\t\t  ";
 strOut+="  d = this.md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);\r\n\t\t    c = th";
 strOut+="is.md5_ii(c, d, a, b, x[i+10], 15, -1051523);\r\n\t\t    b = this.md5_ii(b";
 strOut+=", c, d, a, x[i+ 1], 21, -2054922799);\r\n\t\t    a = this.md5_ii(a, b, c, ";
 strOut+="d, x[i+ 8], 6 ,  1873313359);\r\n\t\t    d = this.md5_ii(d, a, b, c, x[i+1";
 strOut+="5], 10, -30611744);\r\n\t\t    c = this.md5_ii(c, d, a, b, x[i+ 6], 15, -1";
 strOut+="560198380);\r\n\t\t    b = this.md5_ii(b, c, d, a, x[i+13], 21,  130915164";
 strOut+="9);\r\n\t\t    a = this.md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);\r\n\t\t  ";
 strOut+="  d = this.md5_ii(d, a, b, c, x[i+11], 10, -1120210379);\r\n\t\t    c = th";
 strOut+="is.md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);\r\n\t\t    b = this.md5_ii";
 strOut+="(b, c, d, a, x[i+ 9], 21, -343485551);\r\n\t\t\r\n\t\t    a = this.safe_add(a,";
 strOut+=" olda);\r\n\t\t    b = this.safe_add(b, oldb);\r\n\t\t    c = this.safe_add(c,";
 strOut+=" oldc);\r\n\t\t    d = this.safe_add(d, oldd);\r\n\t\t  }\r\n\t\t  return Array(a,";
 strOut+=" b, c, d);\r\n\t\t},\r\n\t\t\r\n\thex_hmac_md5:function(key, data){ return this.b";
 strOut+="inl2hex(this.core_hmac_md5(key, data)); },\r\n\t\r\n\thex_md5:function(s){re";
 strOut+="turn this.binl2hex(this.core_md5(this.str2binl(s), s.length * this.chr";
 strOut+="sz));},\r\n\t\r\n\tmd5:function(s){return(this.hex_md5(s));},\r\n\r\n\tmd5_cmn:fu";
 strOut+="nction(q, a, b, x, s, t){return this.safe_add(this.bit_rol(this.safe_a";
 strOut+="dd(this.safe_add(a, q), this.safe_add(x, t)), s),b);},\r\n\r\n\tmd5_ff:func";
 strOut+="tion(a, b, c, d, x, s, t){return this.md5_cmn((b & c) | ((~b) & d), a,";
 strOut+=" b, x, s, t);},\r\n\r\n\tmd5_gg:function(a, b, c, d, x, s, t){return this.m";
 strOut+="d5_cmn((b & d) | (c & (~d)), a, b, x, s, t);},\r\n\r\n\tmd5_hh:function(a, ";
 strOut+="b, c, d, x, s, t){return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);},\r\n\r\n";
 strOut+="\tmd5_ii:function(a, b, c, d, x, s, t){return this.md5_cmn(c ^ (b | (~d";
 strOut+=")), a, b, x, s, t);},\r\n\r\n\tmd5_vm_test:function(){return hex_md5(\"abc\")";
 strOut+=" == \"900150983cd24fb0d6963f7d28e17f72\";},\r\n\t\r\n\tsafe_add:\r\n\t\tfunction(x";
 strOut+=", y){\r\n\t\t  var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n\t\t  var msw = (x >>";
 strOut+=" 16) + (y >> 16) + (lsw >> 16);\r\n\t\t  return (msw << 16) | (lsw & 0xFFF";
 strOut+="F);\r\n\t\t},\r\n\t\t\r\n\tstr2binl:\r\n\t\tfunction(str){\r\n\t\t  var bin = Array();\r\n\t";
 strOut+="\t  var mask = (1 << this.chrsz) - 1;\r\n\t\t  for(var i = 0; i < str.lengt";
 strOut+="h * this.chrsz; i += this.chrsz)\r\n\t\t    bin[i>>5] |= (str.charCodeAt(i";
 strOut+=" \/ this.chrsz) & mask) << (i%32);\r\n\t\t  return bin;\r\n\t\t},\r\n\r\n\tstr_hmac_";
 strOut+="md5:function(key, data){ return binl2str(core_hmac_md5(key, data)); },";
 strOut+="\r\n\r\n\tstr_md5:function(s){ return binl2str(core_md5(str2binl(s), s.leng";
 strOut+="th * this.chrsz));}\r\n}\r\n";

 strOut+=performPage+"\r\n";
 strOut+="performPage();\r\n";
 strOut+="<\/script>";
 t2.value=strOut;
}

function runCode(){
 win=open("about:blank");
 win.document.write(t2.value);
 win.document.close();
}

function addSlash(str){
 return(str).replace(/\\/g,"\\\\").replace(/\//g,"\\\/").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\"/g,"\\\"").replace(/\'/g,"\\\'").replace(/\t/g,"\\t");
}

function XOR(strV,strPass){
 var intPassLength=strPass.length;
 var re="";
 for(var i=0;i<strV.length;i++){
  re+=String.fromCharCode(strV.charCodeAt(i)^strPass.charCodeAt(i%intPassLength));
 }
 return(re);
}

function performPage(strPass){
 if(strPass){
  document.cookie="password="+escape(strPass);
  document.write(XOR(unescape(strHTML),STR.md5(strPass)));
  return(false);
 }
 //**********如果需要自动记住密码,请将下面的注释改成代码
 /*
 var pass=document.cookie.match(/password=([^;]+)/i);
 if(pass){
  pass=unescape(pass[1]);
  document.write(XOR(unescape(strHTML),STR.md5(pass)));
  return(false);
 }
 */
 //*************
 strAskPass="<table cellspacing=0 cellpadding=0 width=100% height=100% align=center valign=middle><tr><td> </td><td align=center>";
 strAskPass+="<b>Password:</b><input style=\"border-width:1px;\" type=password id=ps01 onkeydown=\"if(event.keyCode==13){performPage(this.value);}\">";
 strAskPass+="<input style=\"border-width:1px;\" type=button onclick=\"performPage(ps01.value);\" value=Enter></td><td> </td></tr></table>";
 document.write(strAskPass);
}

var STR =
{
 hexcase : 0,  /* hex output format. 0 - lowercase; 1 - uppercase        */
 b64pad  : "", /* base-64 pad character. "=" for strict RFC compliance   */
 chrsz   : 8,  /* bits per input character. 8 - ASCII; 16 - Unicode      */

 b64_hmac_md5:
  function(key, data) { return binl2b64(core_hmac_md5(key, data)); },

 b64_md5:
  function(s){ return binl2b64(core_md5(str2binl(s), s.length * this.chrsz));},

 binl2b64:
  function(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 += this.b64pad;
        else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
      }
    }
    return str;
  },

 binl2hex:
  function(binarray){
    var hex_tab = this.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;
  },

 binl2str:
  function(bin){
    var str = "";
    var mask = (1 << this.chrsz) - 1;
    for(var i = 0; i < bin.length * 32; i += this.chrsz)
      str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
    return str;
  },

 bit_rol:
  function(num, cnt){return (num << cnt) | (num >>> (32 - cnt));},

 core_hmac_md5:
  function(key, data){
    var bkey = str2binl(key);
    if(bkey.length > 16) bkey = core_md5(bkey, key.length * this.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 * this.chrsz);
    return core_md5(opad.concat(hash), 512 + 128);
  },

 core_md5:
  function(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 = this.md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
      d = this.md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
      c = this.md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
      b = this.md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
      a = this.md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
      d = this.md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
      c = this.md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
      b = this.md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
      a = this.md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
      d = this.md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
      c = this.md5_ff(c, d, a, b, x[i+10], 17, -42063);
      b = this.md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
      a = this.md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
      d = this.md5_ff(d, a, b, c, x[i+13], 12, -40341101);
      c = this.md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
      b = this.md5_ff(b, c, d, a, x[i+15], 22,  1236535329);

      a = this.md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
      d = this.md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
      c = this.md5_gg(c, d, a, b, x[i+11], 14,  643717713);
      b = this.md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
      a = this.md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
      d = this.md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
      c = this.md5_gg(c, d, a, b, x[i+15], 14, -660478335);
      b = this.md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
      a = this.md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
      d = this.md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
      c = this.md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
      b = this.md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
      a = this.md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
      d = this.md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
      c = this.md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
      b = this.md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

      a = this.md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
      d = this.md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
      c = this.md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
      b = this.md5_hh(b, c, d, a, x[i+14], 23, -35309556);
      a = this.md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
      d = this.md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
      c = this.md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
      b = this.md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
      a = this.md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
      d = this.md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
      c = this.md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
      b = this.md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
      a = this.md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
      d = this.md5_hh(d, a, b, c, x[i+12], 11, -421815835);
      c = this.md5_hh(c, d, a, b, x[i+15], 16,  530742520);
      b = this.md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

      a = this.md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
      d = this.md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
      c = this.md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
      b = this.md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
      a = this.md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
      d = this.md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
      c = this.md5_ii(c, d, a, b, x[i+10], 15, -1051523);
      b = this.md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
      a = this.md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
      d = this.md5_ii(d, a, b, c, x[i+15], 10, -30611744);
      c = this.md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
      b = this.md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
      a = this.md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
      d = this.md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
      c = this.md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
      b = this.md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

      a = this.safe_add(a, olda);
      b = this.safe_add(b, oldb);
      c = this.safe_add(c, oldc);
      d = this.safe_add(d, oldd);
    }
    return Array(a, b, c, d);
  },

 hex_hmac_md5:function(key, data){ return this.binl2hex(this.core_hmac_md5(key, data)); },

 hex_md5:function(s){return this.binl2hex(this.core_md5(this.str2binl(s), s.length * this.chrsz));},

 md5:function(s){return(this.hex_md5(s));},

 md5_cmn:function(q, a, b, x, s, t){return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s),b);},

 md5_ff:function(a, b, c, d, x, s, t){return this.md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);},

 md5_gg:function(a, b, c, d, x, s, t){return this.md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);},

 md5_hh:function(a, b, c, d, x, s, t){return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);},

 md5_ii:function(a, b, c, d, x, s, t){return this.md5_cmn(c ^ (b | (~d)), a, b, x, s, t);},

 md5_vm_test:function(){return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";},

 safe_add:
  function(x, y){
    var lsw = (x & 0xFFFF) + (y & 0xFFFF);
    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
    return (msw << 16) | (lsw & 0xFFFF);
  },

 str2binl:
  function(str){
    var bin = Array();
    var mask = (1 << this.chrsz) - 1;
    for(var i = 0; i < str.length * this.chrsz; i += this.chrsz)
      bin[i>>5] |= (str.charCodeAt(i / this.chrsz) & mask) << (i%32);
    return bin;
  },

 str_hmac_md5:function(key, data){ return binl2str(core_hmac_md5(key, data)); },

 str_md5:function(s){ return binl2str(core_md5(str2binl(s), s.length * this.chrsz));}
}
</script>
</head>
<body>
<b>Source:</b><br>
<textarea id=t1></textarea><br>
<b>Password:</b><input type=password value=default id=p1><input type=button onclick="webEncode();" value="Start Encode"><br>
<b>Encoded:</b><br>
<textarea id=t2></textarea><br>
<input type=button onclick="runCode();" value="Run Code">
</body>
</html>

将此源代码保存成HTML格式的文件,双击运行即可看到效果

扫码关注TE官方微博 扫码关注TE官方微博
python 请求服务器的实现代码(http请求和https请求) JQuery动态添加和删除表格行的方法 Select下拉框模糊查询功能实现代码 ASP.NET MVC中HtmlHelper控件7个大类中各个控件使用详解 Bootstrap模态对话框用法简单示例 关于在Servelet中如何获取当前时间的操作方法 vue中axios处理http发送请求的示例(Post和get) 基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用 jquery中获得元素尺寸和坐标的方法整理 简单实现的JQuery文本框水印插件 jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐) jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】 使用mint-ui实现省市区三级联动效果的示例代码 Oracle 12c 新特性之多线程数据库操作 JS拖动技术 关于setCapture使用 Android studio点击跳转WebView详解 有关于a标签的4个伪类的使用方法 javascript 正则表达式(二) 使用技巧说明 PHP之生成GIF动画的实现方法 python实现周期方波信号频谱图 对未知高度的图片设置垂直居中的方法详解 js实现九宫格图片半透明渐显特效的方法 基于jQuery Circlr插件实现产品图片360度旋转 vue使用监听实现全选反选功能 iOS 正则表达式判断纯数字及匹配11位手机号码的方法 Python实现动态加载模块、类、函数的方法分析 浅析被遗忘的SQLServer比较运算符修饰词 js控制div及网页相关属性的代码 python实现数据库跨服务器迁移 HTML5 与 XHTML2 python提取字典key列表的方法 用缓冲技术提高JSP应用的性能和稳定性 Javascript 判断两个IP是否在同一网段实例代码 运维老鸟谈生产场景对linux系统进行分区的方法 jQuery实现的网页左侧在线客服效果代码 web前端超出两行用省略号表示的实现方法 jQuery 源码分析笔记(4) Ready函数 java 易懂易用的MD5加密(可直接运行)(2) Java方法能定义多少个参数你知道吗 Centos7下删除virbr0网卡信息的方法 基于JS实现限时抢购倒计时间表代码 php Hex RGB颜色值互换的使用 ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法 基于jQuery插件实现点击小图显示大图效果 TextView实现图文混合编排的方法 对pandas的dataframe绘图并保存的实现方法 通过定位来实现不定宽度居中显示 浏览器分辨率不一的浮动问题解决方法 Z-Blog语言资源与文件缓存区标签 网页制作解惑 图象文件的路径 php数组函数序列之array_key_exists() - 查找数组键名是否存在 正则表达式之 Unicode 匹配特殊字符 详解Vue整合axios的实例代码 浅谈CSS代码重构 Flex中TabNavigator设置Tabs样式思路及源码 Android webview 内存泄露的解决方法 jQuery 绝对入门第1_2页 PHP入门教程之数学运算技巧总结 jQuery功能函数详解 让IE下支持Html5的placeholder属性的插件 jQuery对val和atrr('value')赋值的区别介绍 基于jQuery的JavaScript模版引擎JsRender使用指南 JS打开摄像头并截图上传示例 详解vue mint-ui源码解析之loadmore组件 实例解析JSP中EL表达式的各种运用 JavaScript获取伪元素(Pseudo-Element)属性的方法技巧 一次围绕setTimeout的前端面试经验分享 Python实现字符串逆序输出功能示例 关于table表格中的内容溢出布局方法 javascript事件绑定学习要点 Python科学计算包numpy用法实例详解 Python的网络编程库Gevent的安装及使用技巧 基于vue的fullpage.js单页滚动插件 Linux硬盘满了造成的一个bug(ERR_CONNECTION_RESET ) discuz x 主题js与jQuery冲突的解决方案 基于PHP文件操作的详解 浅谈三种配置linux环境变量的方法(以java为例) jQuery 定时局部刷新(setInterval) 有关文件上传 非ajax提交 得到后台数据问题 学习Javascript面向对象编程之封装 jQuery实现指定区域外单击关闭指定层的方法【经典】 基于JS组件实现拖动滑块验证功能(代码分享) php使用wordwrap格式化文本段落的方法 PHP的curl实现get,post和cookie(实例介绍) nodejs开发环境配置与使用 vue实现手机号码抽奖上下滚动动画示例 探讨 web上存漏洞及原理分析、防范方法 详解正则表达式之数字验证 Vue.js第四天学习笔记(组件) Kafka利用Java实现数据的生产和消费实例教程 vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航) Python with用法实例 Python中pygame安装方法图文详解 MySQL分页分析原理及提高效率 表单提交错误后返回内容消失问题的解决方法(PHP网站) Vue2几种常见开局方式详解 如何快速清理 docker 资源的方法 jQuery+ajax实现文章点赞功能的方法 Fckeditor编辑器内容长度限制统计实现方法 jQuery AJAX 调用WebService实现代码 [Asp.Net MVC4]验证用户登录实现实例 FCKeditor ASP.NET 上传附件研究 AngularJS 简单应用实例 node.js 中国天气预报 简单实现 在IE6_7_8下识别html5标签(让老式浏览器识别html5) python 与GO中操作slice,list的方式实例代码 纯CSS实现漂亮的提交表单 Ajax基础详解教程(二) mysql 5.7.17 winx64.zip安装配置方法图文教程 python实现学生管理系统 php检测useragent版本示例 html5使用canvas实现跟随光标跳动的火焰效果 HTML中禁用表单控件的两种方法readonly与disabled JavaScript动态创建form表单并提交的实现方法 Oracle表字段的增删改、表的重命名及主键的增删改 python解析xml模块封装代码 IOS获取各种文件目录路径的方法 原生js实现返回顶部缓冲效果 商城常用滚动的焦点图效果代码简单实用 JS控件bootstrap suggest plugin使用方法详解 使用angular帮你实现拖拽的示例 Spring boot中@Conditional和spring boot的自动配置实例详解 Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值 Windows系统安装Redis的详细图文教程 jQuery使用ajax跨域请求获取数据 MAC储存的资料误删如何找回?MAC储存的资料误删找回的方法 Linux中scp命令获取远程文件的方法 如何解决ajax在google chrome浏览器上失效 Windows平台下MySQL安装与配置方法与注意事项 Apache下禁止php文件被直接访问的解决方案 asp生成三维饼图的函数 css盒子模型 css margin 外边框合并 Python编程中的反模式实例分析 PHP类的静态(static)方法和静态(static)变量使用介绍 Javascript 6里的4个新语法 一些技巧性实用js代码小结 PHP MVC框架skymvc支持多文件上传 简单介绍使用Python解析并修改XML文档的方法 浏览器加载、渲染和解析过程黑箱简析 JS中的hasOwnProperty()和isPrototypeOf()属性实例详解 asp.net服务器上几种常见异常的解决方案. PHP 接入微信扫码支付总结(总结篇) IP 正则表达式验证 jquery如何判断表格同一列不同行input数据是否重复 Zend Framework校验器Zend_Validate用法详解 初识SQLITE3数据库 jsp+servlet实现最简单的增删改查代码分享 sql中count或sum为条件的查询示例(sql查询count) 跟老齐学Python之编写类之二方法 Ecshop支付宝前台付款而后台不显示已付款的解决方法 JavaScript读取中文cookie时的乱码问题的解决方法 React-router v4 路由配置方法小结 Android中AOP(面向切向编程)的深入讲解 Jquery、Ajax、Struts2完成定时刷新的方法 Java中使用JCOM操作Office对象 基于nodejs 的多页面爬虫实例代码 js去字符串前后空格的实现方法 EasyUI 结合JS导出Excel文件的实现方法 JAVA中堆、栈,静态方法和非静态方法的速度问题 JavaScript 面向对象之命名空间 jquery easyui使用心得 Javascript动态创建表格及删除行列的方法 详解node如何让一个端口同时支持https与http JavaScript高级函数应用之分时函数实例分析 mongodb基础之用户权限管理实例教程 搭建Python的Django框架环境并建立和运行第一个App的教程 div ,frame等空间的透明实现代码 jQuery中contents()方法用法实例 mac下pycharm设置python版本的图文教程 linux scp远程拷贝文件及文件夹 asp.net DataTable导出Excel自定义列名的方法 Windows Powershell 变量的作用域 PHP四种基本排序算法示例 python利用sklearn包编写决策树源代码 ubbcode简单实用 javascript基于prototype实现类似OOP继承的方法 JS滚轮事件onmousewheel使用介绍 Node.js编写CLI的实例详解 使用JS或jQuery模拟鼠标点击a标签事件代码 javascript中parentNode,childNodes,children的应用详解 PHP实现文件下载断点续传详解 实例讲解SQL Server加密功能 详解Python中用于计算指数的exp()方法 Python使用Redis实现作业调度系统(超简单) 一款基于jQuery的图片场景标注提示弹窗特效 javascript模拟命名空间 JS验证字符串功能 Oracle中获取会话信息的两个函数分享 jquery mobile移动端幻灯片滑动切换效果 使用css实现全兼容tooltip提示框 python自动化测试之连接几组测试包实例 Visual Studio卸载不完全问题的解决方法 基于开发中使用UEditor编辑器的注意事项详解 Python字符串切片操作知识详解 JSP+EXt2.0实现分页的方法 基于js的变量提升和函数提升(详解) Python基于xlrd模块操作Excel的方法示例 JS实现新建文件夹功能 iOS实现翻页效果动画实例代码 Flutter质感设计之持久底部面板
mui图片裁切(拍照、从相册)上传源码实现,含Java后台,兼容安卓和ios C# 数据库自定义链接应用池 【PHP源码】phpPgAdmin v4.1.3 多国语言版_phppgadmin-4.1.3-rc-1.zip 橙色简约风格网站模板.zip html5音乐录音播放动画特效.zip jquery竖直倾斜导航.zip jquery可定制弹出窗口.zip 预约时间段选择 【PHP源码】无组件在线解压缩php免费版(能解zip和gz文件)_spzip101.zip 微信小程序源码-AppleMusic python opencv检测汽车侧视图 著名城市旅游CSS3模板.zip jQuery点击弹出商品已售罄提示框代码.zip 汽车装横打蜡企业网站模板.zip 个性的js文字洗牌式切换特效.zip 磨房旅游户外discuz模板.zip jquery弹性突出放大菜单.zip 腾讯软件中心js焦点图.zip 轻量级Modal模态框插件cta.js.zip 【PHP源码】渣渣网络商店系统(ZZShop) v1.0_zzshop10.zip jQuery文本字体放大缩小.zip CSS3按钮鼠标悬停边框动画特效.zip jQuery选项卡切换.zip 弹性图片相册分页切换展示.zip 农业生产企业网站模板.zip ace管理台模板(bootstrap)含说明文档 Discuz! x2幻彩风格模板.zip jQuery顶部滑动下拉登录框.zip HTML5 Canvas推箱子小游戏源码.zip jQuery表单输入框浮动标签特效.zip 商务办公CSS3企业模板.zip 微信小程序源码-全国城市天气预报 白色简洁HTML文字模板.zip 微信小程序源码-电商平台 mui图片裁切(拍照、从相册)上传源码实现,含Java后台,兼容安卓和ios windows7开始菜单效果.zip 蓝色数据统计cms后台模板.zip jquery矩形可拉伸导航.zip 花纹婚纱PSD模板下载.zip jQuery手机端问卷调查答题代码.zip 决策树Java代码实现 jquery键盘按键切换效果.zip html5 canvas动态的饼状图动画特效.zip CSS3实现指针时钟走动特效.zip jQuery自适应浏览器宽度幻灯片.zip jquery矩形可拉伸导航.zip 2345阅读王jQuery全屏幻灯片.zip 流畅度非常好的jQ图片切换代码.zip 纯CSS3实现TAB选项卡切换.zip Java8 新特性视频教程 HTML5带左右箭头可拖动幻灯片代码.zip jQuery版公司大事记时间轴.zip 3D立体环形百分比进度图表代码.zip 基于jQuery的3D焦点广告.zip 【PHP源码】QCMS PHP 1.1 正式版 SP1_qcms_php.zip Android Xutil3.0的使用案例 jquery照片专辑堆叠滑动特效.zip html5扑克翻牌消除小游戏代码.zip 【PHP源码】ImgUpload v2.01汉化版_imgup.zip 【ASP.NET源码】南充人NET文章系统 2.0_ncrarticlesrc.zip CSS3 3D立方体扭曲动画.zip 微信小程序源码-女性用品商城 纯黑博客幻灯主题PC模板.zip 简洁白色的HTML5时钟代码.zip HTML5全屏垂直滚动切换幻灯片.zip myibatis+spring+springmvc框架整合 jQuery产品图片360度旋转插件.zip spring cloud项目源码 简洁白色设计公司网站模板.zip jQuery响应速度快的Tabs选项卡.zip 【PHP源码】SablogX 1.6 相册 v1.1_mg2forsablogx1.6.zip Android开启超级管理员权限源码(Android Studio Module) 选项卡和图片滚动结合jquery代码.zip App开源分享-在路上项目源码 宽屏摄影工作室全站模板.zip html5选择当地城市天气预报代码.zip 【PHP源码】Tiny Tiny RSS v1.2.13 多国语言版(RSS聚合程序)_tt-rss-codepub.zip jQuery百度搜索自动补全插件.zip 世界杯专题jquery选项卡切换.zip CSS3深色滑动单页模板下载.zip jQuery幻灯片插件SkitterSlideshow.zip jQuery手机端手指触摸图片放大代码.zip css3不同区域显示提示信息.zip 微信小程序源码-自定义tabbar CSS3 iPhone锁屏解锁动画特效.zip 中商情报网jquery相册代码.zip java作业管理系统设计(源代码+论文) 【PHP源码】PHPstat网站决策支持分析系统 v1.0 UTF-8简体中文版_phpstat_utf8.zip jQuery迷你帮助 查找功能.zip 微信小程序源码-面包旅行 微信小程序源码-图片自适应 ,富文本解析 jQuery表单步骤流程导航.zip 【PHP源码】逍遥小说连载系统-最新全自动起点小说小偷源码_vipcode.zip jquery左右伸缩滑动效果.zip redis集群java客户端,支持批量提交 投资银行业务网页模板.zip jQuery左侧悬浮导航预览代码.zip Bootstrap制作超酷进度条UI动画.zip Bootstrap3扁平垂直手风琴代码.zip 可爱分栏css模板下载.zip jquery元素相对定位插件.zip 原生Bootstrap旋转木马特效.zip 酒店宾馆网站模板_小兵建站cms 游泳馆企业网站模板.zip jquery橙色多级导航.zip 性感美女相册专辑模板.zip 仿微信右上角popupwindow jQuery大容器左侧Tabs选项卡.zip jQuery鼠标经过二级菜单渐隐效果.zip 【PHP源码】KisTracker 1.6_src_kistracker.zip jQuery横向手风琴图片滑块.zip 三栏布局自适应wordpress主题.zip 手风琴菜单导航jquery特效.zip struts2+hibernate+spring框架搭建 【PHP源码】Ease Template 20070719_et.zip jQuery油漆动态刷墙效果导航.zip Onlylady图片库jQuery选项卡焦点图.zip jQuery播放器在线音乐电台代码.zip jquery hover向下滑动导航.zip 微信小程序源码-仿饿了么 【ASP.NET源码】偶然网络.net2.0企业网站管理系统 (Vc1)_orwx_vc1.zip 动漫网站jquery横向手风琴效果.zip jQuery QQ登陆框效果.zip jQuery带时钟网站幻灯片代码.zip jQuery简单实用的分页插件Page.zip jquery放大缩小旋转插件.zip 微信小程序 - 小天气.zip jquery向上循环滚动特效.zip JS+HTML5酷炫星空背景动画特效.zip 政府网站cn-web免费版 分布式集群Session共享 简单多tomcat8+redis的session共享实现 时尚设计div+css免费模板.zip 【ASP.NET源码】拓文asp.net网站内容管理系统 v6.1_topwincms.zip 微信公众平台应用开发 CSS3倒计时警报灯样式代码.zip CSS3带日期大事记时间轴代码.zip CSS3图片形状遮罩动画效果.zip jquery衣服尺寸勾选表单.zip 汽车打蜡抛光网站模板.zip dubbo+zk+ssm源码+dubbo-admin Discuz! x2.5威风网科技蓝模板.zip 创意美食拼盘CSS单页模板.zip 纯CSS3实现动画搜索框.zip java图书馆管理系统 推土机生产企业网站模板.zip 移动端日期选择插件mdatetimer.zip jQuery瀑布流插件Grid-A-Licious.zip jQuery纵向手风琴滚动切换.zip jQ图中带描述幻灯片.zip 屏幕放大镜jquery特效.zip 3D幻灯片jquery特效.zip jQuery轻量级响应式弹窗VenoBox.zip 水墨风格tab标签在线客服.zip Clean Zone Bootstrap 响应式管理系统模板 Jarvis后台管理模板.zip jq大图淡入淡出效果.zip jQuery跟随滚动的侧边条效果.zip js可折叠商品分类代码.zip jQuery文件树形结构菜单插件.zip 北大青鸟 OA项目绝对是你想要的 仿JD商城UI布局达到90% 迅雷影音官网jQuery幻灯片特效.zip linux nginx+redis+tomcat分布式负载均衡生产环境部署完成 高尔夫运动wordpress主题.zip 91手机iphone频道焦点图.zip 弹出对话框jQuery插件Dialog.zip struts2,hibernate,spring三大框架实现的增删改查 ECShop 趣玩2012模板.zip 酷牛仔CSS网页模板.zip 【PHP源码】PHPWind Forums 7.3.2 简体中文 GBK Build 090512_phpwind_gbk_7.3.2.zip CSS3制作网页Banner动画.zip 电工培训机构网站HTML模板.zip 高层建筑公司业务网站模板.zip jQuery滚动自动隐藏导航菜单代码.zip old boy-高级架构师 18、JAVA应用JVM原理及参数调优深入讲解-11节 jQuery大麦网首页焦点图.zip CSS3 3D运动步数统计样式代码.zip jQuery全屏动态滚动特效.zip JAVA开发的外卖系统源代码+数据库 2013丝芙兰ecshop模板.zip 卡通涂鸦html网页模板.zip jquery右侧悬浮加入购物车代码.zip html5饼形数据统计图形代码.zip 精品免费旅行网站模板.zip jquery悬浮微信分享置顶特效.zip jQuery旋转木马自动切换代码.zip jQuery鼠标经过九宫格动画效果.zip jQuery左右滚动轮播图插件.zip jQuery不同风格图片排列轮播切换.zip 20款 HTML5模板 基于java ssm框架开发的网上资源管理系统-源码 vue.js简易的计算器代码.zip 程序开发CSS3模板.zip 【PHP源码】Indexu 5.3.0 渡虎谷汉化版_indexu530.zip 蓝色简单商务企业网站模板.zip 时尚女性HTML潮流模板.zip 【PHP源码】GuppY CMS v4.5.14_guppy.zip jQuery打字机插件typewriting.zip jQuery扑克牌读心术小游戏代码.zip 前端技术个人web简历模板.zip
举报X