解密函数在 javascript 代码中没有按预期工作

问题描述 投票:0回答:0

我有一个朋友写了一些代码,但我不知道哪里出了问题

对于代码和帖子中的加密/解密与编码/解码混淆,我深表歉意。我当时并没有意识到其中的区别

当我输入文本时,它会对其进行编码,当我单击解密时,它会吐出我输入的任何内容(因此,如果我采用编码文本并在输入不同文本后尝试对其进行解码,它将无法正常工作)

代码如下:

<!DOCTYPE html>
<html>
  <head>
    <title>Text Encryption and Decryption</title>
  </head>
  <body>
    <h1>Text Encryption and Decryption</h1>
    <label for="input-text">Input Text:</label>
    <input type="text" id="input-text" /><br /><br />
    <button onclick="encrypt()">Encrypt</button>
    <button onclick="decrypt()">Decrypt</button><br /><br />
    <label for="encrypted-text">Encrypted Text:</label>
    <input type="text" id="encrypted-text" /><br /><br />
    <label for="decrypted-text">Decrypted Text:</label>
    <input type="text" id="decrypted-text" /><br /><br />

    <script>
      function encrypt() {
        const inputText = document.getElementById("input-text").value;
        const encryptedText = btoa(inputText);
        document.getElementById("encrypted-text").value = encryptedText;
      }

      function decrypt() {
        const encryptedText = document.getElementById("encrypted-text").value;
        const decryptedText = atob(encryptedText);
        document.getElementById("decrypted-text").value = decryptedText;
      }
    </script>
  </body>
</html>

如果我混淆了加密/解密和编码/解码,我深表歉意:

例如,当我输入文本“hello”并单击加密时,输出为“aGVsbG8=”,当我刷新网站并输入“aGVsbG8=”并单击“解密”时,什么也没有发生。

当我输入文本“hello”并单击加密然后解密输出为“aGVsbG8=”和“hello”

预期的结果是我能够输入任何单词/短语并能够单击加密并获得新的字符串并且能够让朋友访问网站(或刷新网站)并粘贴字符串在并单击解密并显示我的原始单词/短语。

javascript html button textbox
© www.soinside.com 2019 - 2024. All rights reserved.