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);