JavaScript 中的高级加密标准

Muhammad Muzammil Hussain 2022年5月5日
JavaScript 中的高级加密标准

AES 代表 高级加密标准;顾名思义,它加密敏感数据传输。像许多组织一样,需要将安全置于最高优先级。

JavaScript 中的高级加密标准

AES 是一种使用某些标准为数据加密而开发的算法。它使用相同的密钥来加密和解密数据,称为对称加密。

这些算法用于不同的通信应用程序,例如 WhatsAppSignal 等。流是我们在发送时编写的消息被加密以通过互联网传递,因此没有人可以破解我们的消息。

如果他们甚至破解它,他们将无法解密消息,并且当消息到达目标接收方端点时,使用与发送方相同的密钥对其进行解密。这些密钥由应用程序提供给发送者和接收者。

下面给出了一个使用第三方库 JSAES 的实际示例。这只需要两个参数作为参数,第一个用于加密文本,第二个用于密码。

这两个参数用于加密和解密方法。而且,这个例子没有什么花哨的;去吧,根据你的需要练习。

<!DOCTYPE html>
<html>
  <head>
    <title>AES</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

    <script>
      function encrypt() {
        var encrypted = CryptoJS.AES.encrypt(
          document.getElementById("text").value,
          document.getElementById("password").value
        );
        document.getElementById("EncryptedValue").innerHTML = encrypted;
        document.getElementById("decrypted").innerHTML = "";
      }

      function decrypt() {
        var decrypted = CryptoJS.AES.decrypt(
          document.getElementById("EncryptedValue").innerHTML,
          document.getElementById("password").value
        ).toString(CryptoJS.enc.Utf8);
        document.getElementById("decrypted").innerHTML = decrypted;
        document.getElementById("EncryptedValue").innerHTML = "";
      }
    </script>
  </head>
  <body>
    <h1>This is a Heading</h1>
    <br />Data to encrypt:
    <input id="text" type="text" placeholder="Enter text to encrypt" />

    <br />password: <input id="password" type="text" value="cool" />

    <br /><button onclick="encrypt()">encrypt</button>

    <br />Encrypted Value:<br /><span id="EncryptedValue"></span>

    <br />
    <button onclick="decrypt()">decrypt</button>
    <br />Decrypted Value: <span id="decrypted"></span>
  </body>
</html>

输出:

AES 输入数据加密

解密数据:

解密数据

AES 对数据字节而不是位执行操作。由于块大小为 128 位,因此密码一次处理 128 位(16 字节)的输入数据。

接收方和发送方将使用相同的密钥(对称)进行加密和解密。

相关文章 - JavaScript Encryption