var encoded = null; var elementId = null; function randomPassword(length) { var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; var pass = ""; for(var i = 0; i < length; i++) { var index = Math.floor(Math.random() * 62); pass += chars.charAt(index); } return pass; }; function encryptFormText() { if (document.key.text.value.length == 0) { alert("Please specify a key with which to encrypt the message."); return; } if(document.plain.text.value.length == 0) { alert("No plain text to encrypt! Please enter or paste plain text in the field above."); return; } encoded = GibberishAES.enc(document.plain.text.value, document.key.text.value); document.cipher.text.value = encoded; // generate a random ID elementId = randomPassword(8); encoded = encoded.replace(/\n/g, ''); genSampleCode(); }; function genSampleCode() { document.encryptedCode.text.value = ""; var element = document.getElementById("encryptedTest"); element.innerHTML = ""; if (encoded == "" || encoded == null || elementId == "" || elementId == null) return; // standard sample code if (document.encryptedCode.codeType[0].checked) { var code1 = "
"; var code2 = "Show encrypted text"; var code3 = "
"; document.encryptedCode.text.value = code1 + "\n\t" + code2 + "\n" + code3; element.innerHTML = code1 + code2 + code3; // inline } else if (document.encryptedCode.codeType[1].checked) { var code1 = "Show encrypted text"; var code2 = "
\n
"; var code3 = "There is hidden text here"; document.encryptedCode.text.value = code1 + "\n" + code2 + "\n" + code3; element.innerHTML = code1+code2+code3; // *** } else { var code1 = "This is encrypted: ***"; document.encryptedCode.text.value = code1; element.innerHTML = code1; } } function decryptFormText() { if (document.key.text.value.length == 0) { alert("Please specify a key with which to decrypt the message."); return; } if(document.cipher.text.value.length == 0) { alert("No cipher text to decrypt! Please enter or paste cipher text in the field above."); return; } try { var dec = GibberishAES.dec(document.cipher.text.value, document.key.text.value); document.plain.text.value = dec; } catch (err) { alert("Invalid key"); } }; function gup(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec(window.location.href); if (results == null) return ""; else return results[1]; }; function load() { document.key.text.value = ""; document.plain.text.value = decodeURIComponent(gup("text")); document.cipher.text.value = decodeURIComponent(gup("cipher")); document.encryptedCode.text.value = ""; document.key.text.focus(); }