Spaces:
Running
Running
function caesarCipher(str, shift) { | |
return str.split('').map(char => { | |
if (char.match(/[a-z]/i)) { | |
let code = char.charCodeAt(); | |
if ((code >= 65) && (code <= 90)) | |
return String.fromCharCode(((code - 65 + shift) % 26) + 65); | |
else if ((code >= 97) && (code <= 122)) | |
return String.fromCharCode(((code - 97 + shift) % 26) + 97); | |
} | |
return char; | |
}).join(''); | |
} | |
function vigenereCipher(text, key) { | |
let output = ''; | |
key = key.toUpperCase(); | |
for (let i = 0, j = 0; i < text.length; i++) { | |
let c = text.charAt(i); | |
if (c.match(/[a-z]/i)) { | |
let code = text.charCodeAt(i); | |
if ((code >= 65) && (code <= 90)) | |
c = String.fromCharCode(((code - 65 + key.charCodeAt(j % key.length) - 65) % 26) + 65); | |
else if ((code >= 97) && (code <= 122)) | |
c = String.fromCharCode(((code - 97 + key.charCodeAt(j % key.length) - 65) % 26) + 97); | |
j++; | |
} | |
output += c; | |
} | |
return output; | |
} | |
function encryptText() { | |
const inputText = document.getElementById('inputText').value; | |
const method = document.getElementById('encryptionMethod').value; | |
let encryptedText = ''; | |
if (method === 'caesar') { | |
const shift = 3; // You can customize the shift value | |
encryptedText = caesarCipher(inputText, shift); | |
} else if (method === 'vigenere') { | |
const key = 'KEY'; // You can customize the key | |
encryptedText = vigenereCipher(inputText, key); | |
} else if (method === 'aes') { | |
// AES encryption will require more complex setup, usually handled server-side | |
encryptedText = 'AES Encryption is more complex and is usually done on the server-side.'; | |
} | |
document.getElementById('outputText').value = encryptedText; | |
} | |