// 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