Heim >Web-Frontend >Front-End-Fragen und Antworten >jquery implementiert AES-Verschlüsselung und -Entschlüsselung

jquery implementiert AES-Verschlüsselung und -Entschlüsselung

WBOY
WBOYOriginal
2023-05-23 22:18:062385Durchsuche

Mit der Entwicklung der Internettechnologie sind Fragen der Netzwerksicherheit immer wichtiger geworden. Auf vielen Websites müssen Benutzer vertrauliche Informationen wie Passwörter eingeben. Diese Informationen müssen häufig verschlüsselt werden, um die Sicherheit zu gewährleisten. AES (Advanced Encryption Standard) ist ein beliebter Verschlüsselungsalgorithmus, der effizient, sicher und zuverlässig ist. In der Front-End-Entwicklung ist die Verwendung von jQuery zur Implementierung der AES-Verschlüsselung und -Entschlüsselung eine gängige Methode.

1. Einführung in die AES-Verschlüsselung und -Entschlüsselung

AES-Verschlüsselung und -Entschlüsselung ist ein symmetrischer Verschlüsselungsalgorithmus, was bedeutet, dass derselbe Schlüssel für die Verschlüsselung und Entschlüsselung verwendet wird. Es handelt sich um eine Blockverschlüsselung, die Klartext in Blockgruppen verschlüsselt, um Chiffretext zu bilden. Es gibt drei häufig verwendete AES-Verschlüsselungsalgorithmen: AES-128, AES-192 und AES-256, die jeweils 128-Bit-, 192-Bit- und 256-Bit-Schlüssel verwenden.

Der spezifische Prozess des AES-Verschlüsselungsalgorithmus ist wie folgt:

  1. Initialisieren Sie den Schlüsselerweiterungsalgorithmus, generieren Sie einen runden Schlüssel basierend auf dem Schlüssel und speichern Sie den runden Schlüssel in einem Array.
  2. Führen Sie mehrere Verschlüsselungsrunden durch. Jede Verschlüsselungsrunde umfasst vier Schritte: Byte-Ersetzung, Zeilenverschiebung, Spaltenverschleierung und Hinzufügen von Rundenschlüsseln.
  3. Die letzte Verschlüsselungsrunde beinhaltet keine Spaltenverwirrung und der letzte Chiffretext ist das Verschlüsselungsergebnis.

Der AES-Entschlüsselungsalgorithmus ist der umgekehrte Prozess des AES-Verschlüsselungsalgorithmus und wandelt Chiffretext in Klartext um. Der spezifische Prozess ist wie folgt:

  1. Initialisieren Sie die Schlüsselerweiterung, generieren Sie den Rundenschlüssel und speichern Sie den Rundenschlüssel in einem Array.
  2. Führen Sie mehrere Entschlüsselungsrunden durch. Jede Entschlüsselungsrunde umfasst vier Schritte: Hinzufügen eines Rundenschlüssels, umgekehrte Spaltenverschleierung, retrograde Verschiebung und umgekehrte Byte-Ersetzung.
  3. Die letzte Entschlüsselungsrunde beinhaltet keine Verschleierung der umgekehrten Sequenz, und der erhaltene Klartext ist das Entschlüsselungsergebnis.

2. jQuery implementiert die AES-Verschlüsselung

  1. Einführung in die CryptoJS-Bibliothek

Bevor Sie den AES-Verschlüsselungsvorgang durchführen, müssen Sie die CryptoJS-Bibliothek vorstellen. CryptoJS ist eine JavaScript-Verschlüsselungskomponente, die mehrere Verschlüsselungsalgorithmen wie AES, DES, Triple DES, Blowfish, MD5 und SHA-1 bereitstellt. Es kann von der offiziellen Website http://cryptojs.altervista.org/ heruntergeladen werden.

Die Einführung der Bibliothek ist wie folgt:

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
  1. Verschlüsselungsfunktionen schreiben

Nach der Einführung der CryptoJS-Bibliothek können Sie Verschlüsselungsfunktionen schreiben. Das Folgende ist eine Implementierung einer AES-256-Verschlüsselungsfunktion:

function aesEncrypt(text, key) {
  var encrypted = CryptoJS.AES.encrypt(text, key);
  return encrypted.toString();
}

Der Parametertext ist der zu verschlüsselnde Klartext und der Parameterschlüssel ist der Schlüssel. Verwenden Sie zunächst die Methode CryptoJS.AES.encrypt, um die Verschlüsselungsverarbeitung durchzuführen und ein verschlüsseltes Objekt abzurufen. Rufen Sie dann die toString-Methode des verschlüsselten Objekts auf, um das Verschlüsselungsergebnis in ein String-Format zu konvertieren.

  1. Rufen Sie die Verschlüsselungsfunktion auf, um eine Verschlüsselung durchzuführen.

Nachdem Sie die Verschlüsselungsfunktion geschrieben haben, können Sie die Funktion in jQuery aufrufen, um Verschlüsselungsvorgänge durchzuführen. Das Folgende ist ein Beispiel:

$(document).ready(function() {
   var text = "hello world";
   var key = "this is a secret key";
   var encrypted = aesEncrypt(text, key);
   console.log(encrypted);
});

Übergeben Sie den zu verschlüsselnden Klartext und den Schlüssel als Parameter an die aesEncrypt-Funktion, um das Verschlüsselungsergebnis zu erhalten. Im obigen Beispiel werden die Verschlüsselungsergebnisse an die Konsole ausgegeben.

3. jQuery implementiert die AES-Entschlüsselung

  1. Schreiben Sie die Entschlüsselungsfunktion

Bevor Sie den AES-Entschlüsselungsvorgang durchführen, müssen Sie auch die CryptoJS-Bibliothek vorstellen. Das Folgende ist eine Implementierung einer AES-256-Entschlüsselungsfunktion:

function aesDecrypt(text, key) {
  var decrypted = CryptoJS.AES.decrypt(text, key);
  return decrypted.toString(CryptoJS.enc.Utf8);
}

Der Parametertext ist der zu entschlüsselnde Chiffretext und der Parameterschlüssel ist der Schlüssel. Verwenden Sie zunächst die Methode CryptoJS.AES.decrypt, um die Entschlüsselungsverarbeitung durchzuführen und ein Entschlüsselungsobjekt abzurufen. Rufen Sie dann die toString-Methode des entschlüsselten Objekts auf, um das entschlüsselte Ergebnis in das String-Format zu konvertieren.

  1. Rufen Sie die Entschlüsselungsfunktion zum Entschlüsseln auf.

Nachdem Sie die Entschlüsselungsfunktion geschrieben haben, können Sie die Funktion auch in jQuery aufrufen, um den Entschlüsselungsvorgang auszuführen. Das Folgende ist ein Beispiel:

$(document).ready(function() {
   var text = "U2FsdGVkX1/E0Dtap725gqwH+7D+W2m/6nV9gGPwsYE=";
   var key = "this is a secret key";
   var decrypted = aesDecrypt(text, key);
   console.log(decrypted);
});

Übergeben Sie den zu entschlüsselnden Chiffretext und den Schlüssel als Parameter an die aesDecrypt-Funktion, um das Entschlüsselungsergebnis zu erhalten. Im obigen Beispiel werden die Entschlüsselungsergebnisse an die Konsole ausgegeben.

4. Zusammenfassung

jQuery kann AES-Verschlüsselungs- und Entschlüsselungsvorgänge problemlos implementieren. Sie müssen lediglich die CryptoJS-Bibliothek einführen, um den AES-Algorithmus für die Verschlüsselung und Entschlüsselung zu verwenden. Die Verwendung des AES-Algorithmus kann die Sicherheit der Ver- und Entschlüsselung gewährleisten und Informationslecks verhindern. Bei der Front-End-Entwicklung ist die Verwendung von jQuery zur Implementierung von AES-Verschlüsselungs- und -Entschlüsselungsvorgängen eine gängige Methode.

Das obige ist der detaillierte Inhalt vonjquery implementiert AES-Verschlüsselung und -Entschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn