1// å å¯ç®æ³ 2function encrypt(code) { 3 var encryptedCode = ''; 4 for (var i = 0; i < code.length; i++) { 5 var charCode = code.charCodeAt(i); 6 encryptedCode += String.fromCharCode(charCode + 1); 7 } 8 return encryptedCode; 9} 10 11// è§£å¯ç®æ³ 12function decrypt(encryptedCode) { 13 var decryptedCode = ''; 14 for (var i = 0; i < encryptedCode.length; i++) { 15 var charCode = encryptedCode.charCodeAt(i); 16 decryptedCode += String.fromCharCode(charCode - 1); 17 } 18 return decryptedCode; 19} 20 21// æ£æ¥æ¬å°åå¨ä¸çæ¿æ´»ç 22function checkActivationCode() { 23 var encryptedCode = localStorage.getItem('activationCode'); 24 if (encryptedCode) { 25 // 妿已ä¿åæ¿æ´»ç ï¼åè§£å¯å¹¶éªè¯ 26 var savedCode = decrypt(encryptedCode); 27 verifyActivationCode(savedCode); 28 } else { 29 showInputBox(); 30 } 31} 32 33// å¼¹åºè¾å ¥æ¡è¿è¡éªè¯ 34function showInputBox() { 35 var userInput = prompt('徿±æï¼å¸ææ¨ççè§£ï¼è¯·è¾å ¥æ¿æ´»ç (Q群901594028è·å)'); 36 verifyActivationCode(userInput); 37} 38 39// éªè¯æ¿æ´»ç 40function verifyActivationCode(code) { 41 var encryptedInput = encrypt(code); 42 var encryptedValidCode = encrypt('ejjava520'); 43 if (encryptedInput === encryptedValidCode) { 44 var encryptedCode = encrypt(code); 45 localStorage.setItem('activationCode', encryptedCode); 46 47 } else { 48 showInputBox(); 49 } 50} 51 52// æ¯å ç§æ£æ¥ä¸æ¬¡æ¿æ´»ç 53setInterval(checkActivationCode, 2000);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.