破解md5加密扫描程序(适合扫描弱密码)[ 时间:2020-05-11 人气:0 破解md5加密扫描程序(适合扫描弱密码) <script language="JavaScript"> var sAscii = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" var sAscii = sAscii + "[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; var sHex = "0123456789ABCDEF"; function hex(i) { h = ""; for(j = 0; j <= 3; j++) { h += sHex.charAt((i >> (j * 8 + 4)) & 0x0F) + sHex.charAt((i >> (j * 8)) & 0x0F); } return h; } function add(x, y) { return ((x&0x7FFFFFFF) + (y&0x7FFFFFFF)) ^ (x&0x80000000) ^ (y&0x80000000); } function R1(A, B, C, D, X, S, T) { q = add(add(A, (B & C) | (~B & D)), add(X, T)); return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); } function R2(A, B, C, D, X, S, T) { q = add(add(A, (B & D) | (C & ~D)), add(X, T)); return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); } function R3(A, B, C, D, X, S, T) { q = add(add(A, B ^ C ^ D), add(X, T)); return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); } function R4(A, B, C, D, X, S, T) { q = add(add(A, C ^ (B | ~D)), add(X, T)); return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); } function calcMD5(sInp) { wLen = (((sInp.length + 8) >> 6) + 1) << 4; var X = new Array(wLen); j = 4; for (i = 0; (i * 4) < sInp.length; i++) { X[i] = 0; for (j = 0; (j < 4) && ((j + i * 4) < sInp.length); j++) { X[i] += (sAscii.indexOf(sInp.charAt((i * 4) + j)) + 32) << (j * 8); } } if (j == 4) { X[i++] = 0x80; } else { X[i - 1] += 0x80 << (j * 8); } for(; i < wLen; i++) { X[i] = 0; } X[wLen - 2] = sInp.length * 8; a = 0x67452301; b = 0xefcdab89; c = 0x98badcfe; d = 0x10325476; for (i = 0; i < wLen; i += 16) { aO = a; bO = b; cO = c; dO = d; a = R1(a, b, c, d, X[i+ 0], 7 , 0xd76aa478); d = R1(d, a, b, c, X[i+ 1], 12, 0xe8c7b756); c = R1(c, d, a, b, X[i+ 2], 17, 0x242070db); b = R1(b, c, d, a, X[i+ 3], 22, 0xc1bdceee); a = R1(a, b, c, d, X[i+ 4], 7 , 0xf57c0faf); d = R1(d, a, b, c, X[i+ 5], 12, 0x4787c62a); c = R1(c, d, a, b, X[i+ 6], 17, 0xa8304613); b = R1(b, c, d, a, X[i+ 7], 22, 0xfd469501); a = R1(a, b, c, d, X[i+ 8], 7 , 0x698098d8); d = R1(d, a, b, c, X[i+ 9], 12, 0x8b44f7af); c = R1(c, d, a, b, X[i+10], 17, 0xffff5bb1); b = R1(b, c, d, a, X[i+11], 22, 0x895cd7be); a = R1(a, b, c, d, X[i+12], 7 , 0x6b901122); d = R1(d, a, b, c, X[i+13], 12, 0xfd987193); c = R1(c, d, a, b, X[i+14], 17, 0xa679438e); b = R1(b, c, d, a, X[i+15], 22, 0x49b40821); a = R2(a, b, c, d, X[i+ 1], 5 , 0xf61e2562); d = R2(d, a, b, c, X[i+ 6], 9 , 0xc040b340); c = R2(c, d, a, b, X[i+11], 14, 0x265e5a51); b = R2(b, c, d, a, X[i+ 0], 20, 0xe9b6c7aa); a = R2(a, b, c, d, X[i+ 5], 5 , 0xd62f105d); d = R2(d, a, b, c, X[i+10], 9 , 0x2441453); c = R2(c, d, a, b, X[i+15], 14, 0xd8a1e681); b = R2(b, c, d, a, X[i+ 4], 20, 0xe7d3fbc8); a = R2(a, b, c, d, X[i+ 9], 5 , 0x21e1cde6); d = R2(d, a, b, c, X[i+14], 9 , 0xc33707d6); c = R2(c, d, a, b, X[i+ 3], 14, 0xf4d50d87); b = R2(b, c, d, a, X[i+ 8], 20, 0x455a14ed); a = R2(a, b, c, d, X[i+13], 5 , 0xa9e3e905); d = R2(d, a, b, c, X[i+ 2], 9 , 0xfcefa3f8); c = R2(c, d, a, b, X[i+ 7], 14, 0x676f02d9); b = R2(b, c, d, a, X[i+12], 20, 0x8d2a4c8a); a = R3(a, b, c, d, X[i+ 5], 4 , 0xfffa3942); d = R3(d, a, b, c, X[i+ 8], 11, 0x8771f681); c = R3(c, d, a, b, X[i+11], 16, 0x6d9d6122); b = R3(b, c, d, a, X[i+14], 23, 0xfde5380c); a = R3(a, b, c, d, X[i+ 1], 4 , 0xa4beea44); d = R3(d, a, b, c, X[i+ 4], 11, 0x4bdecfa9); c = R3(c, d, a, b, X[i+ 7], 16, 0xf6bb4b60); b = R3(b, c, d, a, X[i+10], 23, 0xbebfbc70); a = R3(a, b, c, d, X[i+13], 4 , 0x289b7ec6); d = R3(d, a, b, c, X[i+ 0], 11, 0xeaa127fa); c = R3(c, d, a, b, X[i+ 3], 16, 0xd4ef3085); b = R3(b, c, d, a, X[i+ 6], 23, 0x4881d05); a = R3(a, b, c, d, X[i+ 9], 4 , 0xd9d4d039); d = R3(d, a, b, c, X[i+12], 11, 0xe6db99e5); c = R3(c, d, a, b, X[i+15], 16, 0x1fa27cf8); b = R3(b, c, d, a, X[i+ 2], 23, 0xc4ac5665); a = R4(a, b, c, d, X[i+ 0], 6 , 0xf4292244); d = R4(d, a, b, c, X[i+ 7], 10, 0x432aff97); c = R4(c, d, a, b, X[i+14], 15, 0xab9423a7); b = R4(b, c, d, a, X[i+ 5], 21, 0xfc93a039); a = R4(a, b, c, d, X[i+12], 6 , 0x655b59c3); d = R4(d, a, b, c, X[i+ 3], 10, 0x8f0ccc92); c = R4(c, d, a, b, X[i+10], 15, 0xffeff47d); b = R4(b, c, d, a, X[i+ 1], 21, 0x85845dd1); a = R4(a, b, c, d, X[i+ 8], 6 , 0x6fa87e4f); d = R4(d, a, b, c, X[i+15], 10, 0xfe2ce6e0); c = R4(c, d, a, b, X[i+ 6], 15, 0xa3014314); b = R4(b, c, d, a, X[i+13], 21, 0x4e0811a1); a = R4(a, b, c, d, X[i+ 4], 6 , 0xf7537e82); d = R4(d, a, b, c, X[i+11], 10, 0xbd3af235); c = R4(c, d, a, b, X[i+ 2], 15, 0x2ad7d2bb); b = R4(b, c, d, a, X[i+ 9], 21, 0xeb86d391); a = add(a, aO); b = add(b, bO); c = add(c, cO); d = add(d, dO); } return hex(a) + hex(b) + hex(c) + hex(d); } function starscan() { if (!/^[\w]{32}$/g.test(text1.value)) { alert("32位md5密文输入错误!!"); text1.focus(); } else { if (document.all("pswc")[0].value=="aa" && document.all("pswc")[0].checked==true) { baa.innerText="数字扫描密码"; numberscan(); } else if (document.all("pswc")[1].value=="bb" && document.all("pswc")[1].checked==true) { baa.innerText="字母扫描密码"; pword() } else if (document.all("pswc")[2].value=="cc" && document.all("pswc")[2].checked==true) { baa.innerText="字母和数字混合扫描密码"; numberandaz() } else if (document.all("pswc")[3].value=="dd" && document.all("pswc")[3].checked==true) { baa.innerText="随机扫描密码"; randompsw() } else if (document.all("pswc")[4].value=="ee" && document.all("pswc")[4].checked==true) { baa.innerText="自定义扫描密码"; alert("制作中..."); } else { baa.innerText="发现未知错误"; } bbb.innerText=text1.value.toLocaleUpperCase(); divstatus.style.display=""; alldiv.style.display="none"; timeinter=setInterval("bee.innerText++",1000); } } var p=-1; function numberscan() //数字 { p++; var str=calcMD5(p.toString()); bcc.innerText=str; bdd.innerText=p; stopnumberscan=setTimeout("numberscan()",5); if (bbb.innerText==str) { alert("恭喜你!!密码成功扫描出来!!!密码是:"+p); clearTimeout(stopnumberscan); clearTimeout(timeinter); } } function numberandaz() //数字和字母 { p++; var str=calcMD5(p.toString(36)); bcc.innerText=str; bdd.innerText=p.toString(36); stopnumberscan=setTimeout("numberandaz()",5); if (bbb.innerText==str) { alert("恭喜你!!密码成功扫描出来!!!密码是:"+bdd.innerText); clearTimeout(stopnumberscan); clearTimeout(timeinter); } } function randompsw() //随机 { var a=Math.floor(Math.random()*2); var b=Math.floor(Math.random()*4); if (b==1) { var n=Math.floor(Math.random()*999999999999999999); } else if (b==2) { var n=Math.floor(Math.random()*99999999999999); } else if (b==3) { var n=Math.floor(Math.random()*9999999999); } else if (b==4) { var n=Math.floor(Math.random()*999999); } else { var n=Math.floor(Math.random()*999); } if (a==1) { n=n.toString(36).toUpperCase(); } else { n=n.toString(36); } var str=calcMD5(n); bcc.innerText=str; bdd.innerText=n; stopnumberscan=setTimeout("randompsw()",5); if (bbb.innerText==str) { alert("恭喜你!!密码成功扫描出来!!!密码是:"+bdd.innerText); clearTimeout(stopnumberscan); clearTimeout(timeinter); } } function pword() //字母 { p++; n=p.toString(27).toUpperCase(); n=n.replace(/0/g,"a"); n=n.replace(/1/g,"a"); n=n.replace(/2/g,"b"); n=n.replace(/3/g,"c"); n=n.replace(/4/g,"d"); n=n.replace(/5/g,"e"); n=n.replace(/6/g,"f"); n=n.replace(/7/g,"g"); n=n.replace(/8/g,"h"); n=n.replace(/9/g,"i"); n=n.replace(/A/g,"j"); n=n.replace(/B/g,"k"); n=n.replace(/C/g,"l"); n=n.replace(/D/g,"m"); n=n.replace(/E/g,"n"); n=n.replace(/F/g,"o"); n=n.replace(/G/g,"p"); n=n.replace(/H/g,"q"); n=n.replace(/I/g,"r"); n=n.replace(/J/g,"s"); n=n.replace(/K/g,"t"); n=n.replace(/L/g,"u"); n=n.replace(/M/g,"v"); n=n.replace(/N/g,"w"); n=n.replace(/O/g,"x"); n=n.replace(/P/g,"y"); n=n.replace(/Q/g,"z"); var str=calcMD5(n); bcc.innerText=str; bdd.innerText=n; stopnumberscan=setTimeout("pword()",5); if (bbb.innerText==str) { alert("恭喜你!!密码成功扫描出来!!!密码是:"+bdd.innerText); clearTimeout(stopnumberscan); clearTimeout(timeinter); } } function ranw() { alert("当前猜测尝试密文:"+bcc.innerText+"\n"+"当前猜测尝试密码:"+bdd.innerText); } </script> 请输入32位md5密文: 扫描密码选项 数字扫描密码 字母扫描密码 字母和数字混合扫描密码 随机扫描密码 自定义扫描密码 开始扫描密码 破解md5加密扫描状态 密码扫描选项: 当前要破解的密文: 当前猜测尝试密文: 当前猜测尝试密码: 已扫描时间:0秒 重来 暂停 帮助 说明帮助 此程序只适合用于扫描弱密码,如:密码全部是数字或密码位数很短等都属于弱密码 破解的时间长短取决于密码的位数和你是否选择正确的扫描方式 此程序每秒可扫描60个密码,如果你的密码是三位数字的。。三位数字只有10*10*10=1000个密码组合,即最长只用1000/60=16秒钟就可以扫描出任何的三位数字密码。。其它的情况于此类推 以下的几种情况将无法破解密码:1)你选择数字扫描密码,但密码中有字母时,2)你选择字母扫描密码,密码只是由数字组成时。。3)密码中含有特殊字符时将无法破解。。4)密码中有大写字母,你选择非随机扫描密码时。。。5)以后想到再说了。 制作:hezhiwu5@163.com............2006-5-15。。。。下一个版本将解决以上提到的所有问题。。。等有时间和心情好了再说 已阅以上你乱写的废话 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 加载全部内容