我正在嘗試創建一個加密機器,在其中鍵入一個5位數的數字,它通過更改數字然後將它們轉換爲字母來加密該數字。方向如下:如何在JavaScript中將循環加密代碼放入可用表中?
必要的代碼添加到「加密」按鈕,執行以下操作:
一)創建一個for循環增加10到第一個框中輸入的數量和乘以 結果爲3,對此結果添加20,然後乘以5,對此結果添加30,然後乘以7,等等。按照該模式5次(5次迭代)。
B)迭代均已完成後,將有 內存中產生的數字,假設75432179
c)現在,這個數字需要變成字符(字母)的每個數字 匹配根據字母的位置將其轉換爲相應的字母表(0將 與字母表的第10個字母匹配)。在我們的例子:生成的字母 將是:gedcbagi(g是字母表中的7號信令,e爲第五字,d是4 信等)
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>
這是功課?你打算自己寫嗎? – jfriend00
你是同一個用戶(不同的用戶ID,但它看起來是完全相同的文本和問題)寫這兩個問題[這裏](http://stackoverflow.com/questions/22799558/setting-upa-a- for-loop-for-an-encryption-scheme)和[here](http://stackoverflow.com/questions/22752881/for-loop-is-really-confusing-me)上的同一主題?如果是這樣,你應該堅持一個用戶ID和只有一個用戶ID,因爲你似乎使用我的代碼從這些問題之一,你可以請接受答案? – jfriend00
我真的覺得你應該自己寫一些代碼。到目前爲止,這個答案中的代碼直接從我的答案複製到前一個問題。 – jfriend00