JavaScript DHTML/Security/Unescape

Материал из Web эксперт
Перейти к: навигация, поиск

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>