本教程向您展示了如何使用JavaScript构建Caesar Cipher机器。 凯撒密码在消息中将每个字母移动一定数量的位置。
JavaScript代码包括:
一个字母阵列。
encrypt
首先,创建
:
caesar.html
<!DOCTYPE html> <html lang='en'> <head> <meta charset='utf-8'> <title>Caesar Cipher</title> </head> <body> <h1>Caesar Cipher</h1> <form> <label>Plaintext:</label> <textarea name='plaintext'>Top Secret</textarea><br> <label>Shift:</label> <input type='number' name='shift' value='5' min='1' max='26'> <input type='submit' value='encrypt'> </form> <h2>Output</h2> <div id='output'></div> <🎜> </body> </html>
接下来,在同一文件夹中创建
:
main.js
const alphabet = [ 'A','B','C','D','E','F', 'G','H','I','J','K','L', 'M','N','O','P','Q','R', 'S','T','U','V','W','X', 'Y','Z' ]; const form = document.forms[0]; const output = document.getElementById('output'); form.addEventListener ('submit',event => { event.preventDefault(); output.innerHTML = [...form.plaintext.value].map(char => encrypt(char)).join(''); }); function encrypt(char) { const shift = Number(form.shift.value); if (alphabet.includes(char.toUpperCase())) { const position = alphabet.indexOf(char.toUpperCase()); const newPosition = (position + shift)%26; return alphabet[newPosition]; } else { return char; } }
>和encrypt
方法隐式处理。encrypt
>
includes
indexOf
这完成了凯撒密码机。 请记住,这是一个简单的密码,不适合安全通信。>
经常询问问题(FAQS)
(简短总结)>
StringBuilder
不安全;使用现代算法(例如AES)进行安全加密。以上是如何使用JavaScript构建密码机的详细内容。更多信息请关注PHP中文网其他相关文章!