Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 16th, 2010 | Syntax: HTML | Size: 3.01 KB | Hits: 29 | Expires: Never
Copy text to clipboard
  1. <html>
  2. <body>
  3. <script type="text/javascript">
  4. var key1=       [ 3, 3, 3, 3, 3, 3, 3, 3];
  5. var key2=   [-6, 8, 2,-2, 8,-6, 4, 7];
  6. var key3=       [88,-7,46,51,-6,74,39,-6];
  7.  
  8. function decode(numero,index){
  9.         return ((numero-key3[index])/key2[index] - key1[index]);
  10. }
  11. function strToArr(str){
  12.         var a=new Array();
  13.         for(var i=0;i<8;i++){
  14.                 a[i]=1*str.substring(i*2,i*2+2);
  15.         }
  16.         return a;
  17. }
  18. function decodestrloc(str){
  19.         var numArray=strToArr(str);
  20.         var locstr="";
  21.         for(var i=0;i<4;i++){
  22.                 if (i==0){locstr+="H";}else{locstr+=":";}
  23.                 locstr+=decode(numArray[i*2],i*2);
  24.                 locstr+=decode(numArray[i*2+1],i*2+1);         
  25.         }
  26.         return locstr;
  27. }
  28.  
  29.  
  30. function encode4chars(str)
  31. {
  32. var inter = "", retVal = "";
  33. str = str.toUpperCase();
  34. for(var i = 0;i < 4;i++) {
  35. var num = str.charCodeAt(i) ? str.charCodeAt(i) : 32;
  36. inter += num;
  37. }
  38. for(var i = 0;i < 8;i++) {
  39. var num = 1*inter.charAt(i);
  40. num = (num + key1[i]) * key2[i] + key3[i];
  41. if(num < 10) retVal += "0";
  42. retVal += num;
  43. }
  44. return retVal;
  45. }
  46.  
  47. function encodestrloc(str)
  48. {
  49. var retVal = "";
  50. str = str.substring(1,str.length);
  51. str = str.replace(/:/g,"");
  52. for(var i = 0;i < 8;i++)
  53. {
  54. var num = 1*str.charAt(i);
  55. num = (num + key1[i]) * key2[i] + key3[i];
  56. if(num < 10)
  57. retVal += "0" + num;
  58. else
  59. retVal += num;
  60. }
  61. return retVal;
  62. }
  63.  
  64. function decode4chars(str4){
  65.         var numArray=strToArr(str4);
  66.         var str="";
  67.         for(var i=0;i<4;i++){
  68.                 if (i!=0) str+="_";
  69.                 str+=decode(numArray[i*2],i*2);
  70.                 str+=decode(numArray[i*2+1],i*2+1);            
  71.         }
  72.         var a=str.split("_");
  73.         s=String.fromCharCode(a[0],a[1],a[2],a[3]);
  74.         return s;
  75. }
  76.  
  77. function decodelbl(char16){
  78.         var str="";
  79.         for (var i=0;i< 4;i++){
  80.                 str+=decode4chars(char16.substring(i*16,i*16+16));
  81.         }
  82.         return str;
  83. }
  84.  
  85.  
  86. function encodelbl(str) {
  87. var retVal = "";
  88. for( var i = 0;i < 4;i++){
  89. retVal += encode4chars(str.substring(i*4,i*4+4));
  90. }
  91. return retVal;
  92. }
  93.  
  94. function doEnc()
  95. {
  96. var opStr = "";
  97. var label = document.getElementById('encodelabel').value;
  98. var location = document.getElementById('encodelocation').value;
  99. label = encodelbl(label);
  100. location = encodestrloc(location);
  101. var colorBegin = "[color='red']";
  102. var colorEnd = "[/color]";
  103. opStr += colorBegin + "enigma " + location + colorEnd;
  104. opStr += colorBegin + "stigma " + label + colorEnd;
  105. document.getElementById("output").innerHTML = opStr;
  106. }
  107. </script>
  108. <form action="#" onsubmit="return false;">
  109. <p><label>Encode Location:</label><input type="text" id="encodelocation"></p>
  110. <p><label>Encode Label:</label><input type="text" id="encodelabel"></p>
  111. <button onclick="doEnc()">encode</button>
  112. <p><textarea id="output" rows="5" cols="30"></textarea></p>
  113. </form>
  114.  
  115. <form action="#" onsubmit="return false;">
  116. <p><label>Decode Location:</label><input type="text" id="decodelocation">
  117. <button onclick="alert(decodestrloc(document.getElementById('decodelocation').value));">decode</button></p>
  118. <p><label>Encode Label:</label><input type="text" id="decodelabel"><button onclick="alert(decodelbl(document.getElementById('decodelabel').value));">decode</button></p>
  119. </form>
  120.  
  121. </body>
  122.  
  123. </html>