function load() {
const $key = document.querySelector('input');
const $messageToEncrypt = document.querySelector('section:nth-child(3) textarea');
const $messageToDecrypt = document.querySelector('section:nth-child(4) textarea');
const $encryptionButton = document.querySelector('section:nth-child(3) button');
const $decryptionButton = document.querySelector('section:nth-child(4) button');
function encrypt() {
try {
const key = $key.value;
if(!key) return alert('Please enter a key!');
const message = $messageToEncrypt.value;
if(!message) return alert('Please enter a message!');
const encryptedMessage = CryptoJS.AES.encrypt(message, key).toString();
const url = location.origin +
location.pathname +
'?' +
encryptedMessage;
window.history.pushState({}, '', url);
$messageToDecrypt.value = encryptedMessage;
} catch(ex) {
alert(ex);
}
}
function decrypt() {
try {
const key = $key.value;
if(!key) return alert('Please enter a key!');
const message = $messageToDecrypt.value;
if(!message) return alert('Please enter a message!');
const decryptedMessage = CryptoJS.AES.decrypt(message, key).toString(CryptoJS.enc.Utf8);
const url = location.origin +
location.pathname;
window.history.pushState({}, '', url);
$messageToEncrypt.value = decryptedMessage;
} catch(ex) {
alert(ex);
}
}
$messageToDecrypt.value = location.search.substr(1);
$encryptionButton.addEventListener('click', encrypt);
$decryptionButton.addEventListener('click', decrypt);
}
window.addEventListener('DOMContentLoaded', load);