JavaScript DHTML/Security/Unescape
Unescape Encoder/Decode
<source lang="html4strict">
<html>
<head> <title>Unescape Encoder/Decoder</title> <script language="javascript"> var encN=1; function decodeTxt(s){ var s1=unescape(s.substr(0,s.length-1)); var t=""; for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1)); return unescape(t); } function encodeTxt(s){ s=escape(s); var ta=new Array(); for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+encN; return ""+escape(eval("String.fromCharCode("+ta+")"))+encN; } function escapeTxt(os){ var ns=""; var t; var chr=""; var cc=""; var tn=""; for(i=0;i<256;i++){ tn=i.toString(16); if(tn.length<2)tn="0"+tn; cc+=tn; chr+=unescape("%"+tn); } cc=cc.toUpperCase(); os.replace(String.fromCharCode(13)+"","%13"); for(q=0;q<os.length;q++){ t=os.substr(q,1); for(i=0;i<chr.length;i++){ if(t==chr.substr(i,1)){ t=t.replace(chr.substr(i,1),"%"+cc.substr(i*2,2)); i=chr.length; }} ns+=t; } return ns; } function unescapeTxt(s){ return unescape(s); } function wF(s){ document.write(decodeTxt(s)); } </script> </head> <body bgcolor="#FFFFFF" alink="#C0C0C0" link="#C0C0C0" vlink="#C0C0C0">
<form name="fA"> Decoded
<textarea id="f1" cols=50 rows=10 wrap="off"></textarea>
<input type="button" width="50%" value="Encode" onclick="document.fA.c1.value=escapeTxt(document.fA.f1.value)"> <input type="button" value="Decode" onclick="document.fA.f1.value=unescapeTxt(document.fA.c1.value)">
Encoded
<textarea id="c1" cols=50 rows=10></textarea>
This can be used with the unescape( ); function in JavaScript. </form>
</body>
</html>
</source>