JavaScript 中的高階加密標準

Muhammad Muzammil Hussain 2024年2月15日
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