加密的方法是由某管理系统的登录密码加密方法修改得到的,解密的方法是本人写的。
1 <html> 2 <head> 3 <title>Powered By Leisureeen</title> 4 </head> 5 <script language="JavaScript"> 6 function securityEncode(){ 7 var pwd = document.getElementById("txt").value; 8 var strDe = "RDpbLfCPsJZ7fiv"; 9 var dictionary = "yLwVl0zKqws7LgKPRQ84Mdt708T1qQ3Ha7xv3H7NyU84p21BriUWBU43odz3iP4rBL3cD02KZciX"+10 "TysVXiV8ngg6vL48rPJyAUw0HurW20xqxv9aYb4M9wK1Ae0wlro510qXeU07kV57fQMc8L6aLgML"+11 "wygtc0F10a0Dg70TOoouyFhdysuRMO51yY5ZlOZZLEal1h0t9YQW0Ko7oBwmCAHoic4HYbUyVeU3"+12 "sfQ1xtXcPcf1aT303wAQhv66qzW";13 var output = "";14 var lenMax, len1, len2, lenDict;15 var cl = 0xBB, cr = 0xBB;16 len1 = strDe.length;17 len2 = pwd.length;18 lenDict = dictionary.length;19 lenMax = len1 > len2 ? len1 : len2;20 for (var index = 0; index < lenMax; index++){21 cl = cr = 0xBB;22 if(index < len1)23 cl = strDe.charCodeAt(index);24 if(index < len2)25 cr = pwd.charCodeAt(index);26 output += dictionary.charAt((cl ^ cr) % lenDict);27 }28 document.getElementById("out").value = output;29 }30 function decode(){31 var pwd = document.getElementById("txt").value;32 var strDe = "RDpbLfCPsJZ7fiv";33 var dictionary = "yLwVl0zKqws7LgKPRQ84Mdt708T1qQ3Ha7xv3H7NyU84p21BriUWBU43odz3iP4rBL3cD02KZciX"+34 "TysVXiV8ngg6vL48rPJyAUw0HurW20xqxv9aYb4M9wK1Ae0wlro510qXeU07kV57fQMc8L6aLgML"+35 "wygtc0F10a0Dg70TOoouyFhdysuRMO51yY5ZlOZZLEal1h0t9YQW0Ko7oBwmCAHoic4HYbUyVeU3"+36 "sfQ1xtXcPcf1aT303wAQhv66qzWy";//append ‘y‘37 var output = "";38 if(pwd.length < 15)39 alert("pwd.length must great than or equals to 15.");40 else if(pwd.length == 15){41 for(var iChar = 0; iChar < 15; iChar++){42 var flag0xBB = false;43 output += (iChar + 1) + ": ";44 for(var iDic = 0; iDic <= 255; iDic++){45 if(dictionary.charCodeAt(iDic) == pwd.charCodeAt(iChar)){46 var keyChar = iDic ^ strDe.charCodeAt(iChar);47 if(keyChar >= 32 && keyChar <= 126)48 output += String.fromCharCode(keyChar);49 else if(keyChar == 0xBB)50 flag0xBB = true;51 }52 }53 output += "\n";54 if(flag0xBB)55 output += "Password may contains " + iChar + " char(s).\n";56 }57 }58 else{59 for(var iChar = 0; iChar < pwd.length; iChar++){60 output += (iChar + 1) + ": ";61 for(var iDic = 0; iDic <= 255; iDic++){62 if(dictionary.charCodeAt(iDic) == pwd.charCodeAt(iChar)){63 var keyChar = iDic ^ (iChar >= 15 ? 0xBB : strDe.charCodeAt(iChar));64 if(keyChar >= 32 && keyChar <= 126)65 output += String.fromCharCode(keyChar);66 }67 }68 output += "\n";69 }70 }71 document.getElementById("out").value = output;72 }73 </script>74 <body bgcolor="ABCDEF">75 <div align="center">76 <b><textarea id="txt" style="height:100;width:500;font-size:20px">123456789ABCDEF</textarea><br>77 <input type="button" onclick="securityEncode()" value="Encode"> 78 <input type="button" onclick="decode()" value="Decode"><br>79 <textarea id="out" style="height:400;width:500;font-size:20px"></textarea><br>80 Designer:Leisureeen</b><br>81 </div>82 </body>83 </html>
其中加密算法的测试结果如下:
Sample Input:
Leisureeen
Sample Output:
378QdM7Ut3efbwK
解密算法的测试结果如下:
Sample Input:
378QdM7Ut3efbwK
Sample Output:
1: Lvei2: OSeb3: biZ#+4: s5: Yu6: r7: HTbe8: ybe19: e10: Tn}q11: #Password may contains 10 char(s).12: Password may contains 11 char(s).13: Password may contains 12 char(s).14: k`Password may contains 13 char(s).15: qx1Password may contains 14 char(s).