*{font-family:宋体;font-size:10pt} body{text-align:center} .txt{border:1px groove gray} 破解md5加密扫描程序(适合扫描弱密码) var sAscii = " !"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" var sAscii = sAscii + "[]^_`abcdefghijklmnopqrstuvwxyz{|}~"; var sHex = "0123456789ABCDEF"; function hex(i) { h = ""; for(j = 0; j > (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 > (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 > (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 > (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 > (32 - S)) & (Math.pow(2, S) - 1)), B); } function calcMD5(sInp) { wLen = (((sInp.length + 8) >> 6) + 1)