// written by Gc. 2006 var k0="~!@#$%^&*()_+|"; var k1="`1234567890-={}"; var k2="qwertyuiop"; var k3="asdfghjkl"; var k4="zxcvbnm"; var k5=",./?\\"; var keyNoCode=0; document.write (""); //document.getElementById(""); function showAddChar(optObj) { msg=optObj.value; //optObj.disabled=true; if (ObjKbOpt.value.length=0x20 && _CharAsc<=0x7E) { if (_CharAsc<0x30) _CharAsc += 0x42; else if (_CharAsc<=0x39) _CharAsc -= 0x10; else if (_CharAsc<=0x40) _CharAsc += 0x38; else if (_CharAsc<=0x5A) _CharAsc -= 0x17; else if (_CharAsc<=0x60) _CharAsc += 0x1E; else _CharAsc -= 0x1D; _CharAsc += _Enhance; if (_CharAsc>0x7E) _CharAsc=_CharAsc-0x5F; if (_Shuffle%2==1) _CharAsc = 0x9E - _CharAsc; else _CharAsc = (_CharAsc % 2 == 0)?((_CharAsc-_Shuffle)>=0x30?(_CharAsc-_Shuffle-0x10):(_CharAsc-_Shuffle+0x50)):((_CharAsc+_Shuffle)<=0x6D?(_CharAsc+_Shuffle+0x10):(_CharAsc+_Shuffle-0x4E)); } return String.fromCharCode(_CharAsc); } function GcEncodeDM(in_str) {return MD5(in_str);} function GcEncodeDDM(in_str){return MD5(MD5(in_str));} function MD5(sMessage) { function RotateLeft(lValue, iShiftBits) { return (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(sMessage) { var lWordCount; var lMessageLength = sMessage.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] | (sMessage.charCodeAt(lByteCount)<>>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; } 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; x = ConvertToWordArray(sMessage); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k