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 = "
";
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();
}