如何在javascript中将for循环加密代码放入一个可行的表中?

如何在javascript中将for循环加密代码放入一个可行的表中?,javascript,loops,for-loop,encryption,textbox,Javascript,Loops,For Loop,Encryption,Textbox,我正在尝试创建一个加密机,在其中键入一个5位数的数字,它通过更改数字然后将其转换为字母来加密该数字。有关指示如下: 向“加密”按钮添加必要的代码,以执行以下操作: 创建一个for循环,在第一个框中输入的数字上加10,然后乘以 结果乘以3,再加上20,再乘以5,再加上30,再乘以7,等等。按照这个模式5次迭代5次 b迭代完成后,将在 记忆,比如75432179 现在,这个数字需要通过匹配每个数字来转换为字符和字母 根据字母0的位置将其对应的字母表中的字母 与字母表中的第十个字母匹配。对于我们的示例

我正在尝试创建一个加密机,在其中键入一个5位数的数字,它通过更改数字然后将其转换为字母来加密该数字。有关指示如下:

向“加密”按钮添加必要的代码,以执行以下操作:

创建一个for循环,在第一个框中输入的数字上加10,然后乘以 结果乘以3,再加上20,再乘以5,再加上30,再乘以7,等等。按照这个模式5次迭代5次

b迭代完成后,将在 记忆,比如75432179

现在,这个数字需要通过匹配每个数字来转换为字符和字母 根据字母0的位置将其对应的字母表中的字母 与字母表中的第十个字母匹配。对于我们的示例:生成的字母 g是字母表中的第七个字母,e是第五个字母,d是第四个字母 信件等

d加密过程的最后一步是使用 古代凯撒密码:每一个字母被另一个字母替换为三个位置 正当因此,我们示例中的最终结果是:jhgfedjl注意到 也可以同时执行步骤c和d

我必须以带有参数的表格的形式显示整个内容:

创建一个包含三列三行的表

在第一列中,只需放置描述性信息,如图1所示 页面

在第二列上创建两个文本框将文本框的大小设置为16

在第三列上创建一个按钮。将其标记为“加密”

到目前为止,我已经完成了大部分代码,但我似乎无法让它正常工作。以下是我目前的代码:

<style type="text/css">
        body {background-color: black; color: lightgreen; font-family: helvetica; text-align: center}
        table {margin-left: auto; margin-right: auto}
    </style>

    <body>
    <script type ="text/javascript">

        function encrypt(num) {
                var sum = 0, str, i, result, index;
                var chars = "abcdefghijklmnop";
                var charBase = "0".charCodeAt(0);
            for (i = 0; i < 5; i++) {
                sum += (num * ((2 * i) + 3)) + ((i * 10) + 10);        
                }

                str = sum + "";
                result = "";
            for (i = 0; i < str.length; i++) {
                index = str.charCodeAt(i) - charBase + 3;
                result += chars.charAt(index);
            }
                return result;
        }
        document.getElementById("go").addEventListener("click", function() {
            var num = parseInt(document.getElementById("num").value, 10);
            var out = encrypt(num);
            document.getElementById("encryptedValue").innerHTML = out;
        });


    </script>

        <h1>ATM</h1>
        <br/>
        <hr/>
        <br/>

        <table align="center" border="1">
        <tr>
            <td><b>Plaintext</b> (Plain information)</td>
            <td><input type="text" size="16" onchange=''/></td>
            <td><button id="go"> Encrypt </button></td>
        </tr>
        <tr>
            <td><b>Ciphertext</b> (Encrypted information)</td>
            <td><input type="text" name="encryptValue" size="16" onchange=''/></td>
            <td></td>
        </tr>
        <tr>
            <td>.</td>
            <td></td>
            <td></td>
        </tr>
        </table>

    </body>

尝试回答您在评论中提出的一个简单问题:

代码中的这一行:

 document.getElementById("encryptedValue").innerHTML = out;
将加密操作的结果放入页面上的非表单对象中,例如div或id=encryptedValue的范围。您可以在HTML中创建一个div或span,并为其指定id,代码应将结果放入页面上的该对象中

或者,将标记为Ciphertext的文本更改为div

或者,将id=encryptedValue添加到密文标记中,并将上面的代码行更改为:

 document.getElementById("encryptedValue").value = out;

这是家庭作业吗?你打算自己写吗?你是同一个用户吗?不同的用户id,但似乎是写这两个问题的同一个文本和问题,并且是在同一个主题上?如果是这样的话,你应该坚持使用一个用户id,并且只使用一个用户id,因为你似乎在使用我在其中一个问题中的代码,你能接受这个答案吗?我真的认为你应该自己写一些代码。到目前为止,这个答案中的代码是直接从我对上一个问题的答案复制而来的。jfriend00我是一个不同的用户,但我想我们是在同一个班级里问同样的问题。我知道它是复制的,但那是因为我真的无法从我的书或网上找到任何帮助,也从未得到任何关于这方面的事先指导。如果您能在这里帮助我,这将意味着很多。@jfriend00忘记在我以前的评论中使用标记了。我尝试了,但新的textboxdocument.GetElementByIdeEncryptedValue.value=out中仍然没有显示EncyOption; }; ATM明文明文明文信息加密密文加密信息@user3496066-正如您可能看到的,在注释中发布多行代码或HTML是毫无意义的。它们根本不可读。如果你想让人们理解你刚刚发布的内容,那么将其添加到问题的末尾,并发布一条评论,说明你添加的内容和原因。更妙的是,将代码放入JSFIDLE并共享链接,这样每个人都可以看到什么是不起作用的。