nodejs implementiert 3des-Verschlüsselung und -Entschlüsselung

王林
Freigeben: 2023-05-16 21:26:37
Original
1021 Leute haben es durchsucht

Node.js ist eine JavaScript-Laufzeitumgebung basierend auf der Chrome V8-Engine, die sich ideal für die Erstellung leistungsstarker Webanwendungen eignet. 3DES (Triple Data Encryption Standard) ist ein häufig verwendeter symmetrischer Verschlüsselungsalgorithmus, der häufig bei der Datenübertragung und -speicherung eingesetzt wird. In diesem Artikel stellen wir vor, wie Sie die 3DES-Verschlüsselung und -Entschlüsselung mithilfe von Node.js implementieren.

  1. Installieren Sie die erforderlichen Abhängigkeiten

Zuerst müssen wir ein Node.js-Modul namens crypto lokal installieren. Das Kryptomodul ist eines der Kernmodule von Node.js und bietet viele sicherheitsrelevante Funktionen, einschließlich Verschlüsselung, Entschlüsselung, Hashing usw.

Das Kryptomodul kann mit dem folgenden Befehl installiert werden:

npm install crypto
Nach dem Login kopieren
  1. Schlüssel generieren

Bevor wir die Ver- und Entschlüsselung durchführen, müssen wir zunächst einen Schlüssel generieren. Der 3DES-Algorithmus verwendet eine Schlüssellänge von 24 Bytes (192 Bit). Zufällige Schlüssel können mit der Methode randomBytes() im Kryptomodul generiert werden.

Das Folgende ist ein Beispielcode zum Generieren eines Zufallsschlüssels:

const crypto = require('crypto');

const key = crypto.randomBytes(24);
console.log(key.toString('hex'));
Nach dem Login kopieren

Durch Ausführen des obigen Codes kann eine Zufallszeichenfolge ausgegeben werden, die aus 48 Hexadezimalzahlen besteht. Dies ist der Schlüssel von 3DES.

  1. Daten verschlüsseln

Verwenden Sie den generierten Schlüssel und das Kryptomodul, um Daten zu verschlüsseln. Der 3DES-Verschlüsselungsalgorithmus wird im Kryptomodul bereitgestellt. Die Verwendungsmethode ist wie folgt:

const crypto = require('crypto');

const key = crypto.randomBytes(24);
const text = 'Hello, world!';

const cipher = crypto.createCipheriv('des-ede3', key, '');
let encrypted = cipher.update(text, 'utf8', 'hex');
encrypted += cipher.final('hex');
console.log(encrypted);
Nach dem Login kopieren

Im obigen Code bedeutet „des-ede3“ die Verwendung des 3DES-Verschlüsselungsalgorithmus, „Schlüssel“ ist der zuvor generierte Schlüssel und „“ bedeutet „Verwenden“. der Standardverschlüsselungsvektor.

Verwenden Sie abschließend die Methode createCipheriv(), um eine Chiffrierobjektchiffre zu erstellen, verwenden Sie die Methode update(), um den zu verschlüsselnden Text an ihn zu übergeben. „utf8“ stellt die Kodierungsmethode des Textes dar, „hex“ stellt die Kodierung dar Methode des Ausgabeergebnisses und schließlich verwenden Die final()-Methode gibt das Verschlüsselungsergebnis aus.

  1. Daten entschlüsseln

Verwenden Sie den generierten Schlüssel und das Kryptomodul, um Daten auf ähnliche Weise wie beim Verschlüsseln von Daten zu entschlüsseln. Das Kryptomodul stellt die Methode createDecipheriv() zum Erstellen eines Entschlüsselungsobjekts bereit. Die Verwendungsmethode lautet wie folgt:

const crypto = require('crypto');

const key = crypto.randomBytes(24);
const text = 'Hello, world!';

const cipher = crypto.createCipheriv('des-ede3', key, '');
let encrypted = cipher.update(text, 'utf8', 'hex');
encrypted += cipher.final('hex');
console.log(encrypted);

const decipher = crypto.createDecipheriv('des-ede3', key, '');
let decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);
Nach dem Login kopieren

Verwenden Sie im obigen Code die Methode createDecipheriv(), um ein Entschlüsselungsobjekt zu erstellen, und verwenden Sie die Methode update() Um den Text zu entschlüsseln, übergeben Sie ihn an ihn. 'hex' stellt die Kodierungsmethode des Eingabeergebnisses dar, 'utf8' stellt die Kodierungsmethode des Ausgabeergebnisses dar und verwendet schließlich die Methode final (), um das entschlüsselte Ergebnis auszugeben.

Auf diese Weise verwenden wir Node.js, um die 3DES-Verschlüsselung und -Entschlüsselung zu implementieren. Wenn eine höhere Sicherheit erforderlich ist, können andere leistungsfähigere Verschlüsselungsalgorithmen verwendet werden, beispielsweise AES (Advanced Encryption Standard) usw.

Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit Node.js die 3DES-Verschlüsselung und -Entschlüsselung implementieren. Dabei werden grundlegende Vorgänge wie das Generieren von Schlüsseln, das Verschlüsseln von Daten und das Entschlüsseln von Daten behandelt. Das Kryptomodul von Node.js bietet eine Fülle sicherheitsrelevanter Funktionen, mit denen verschiedene Verschlüsselungs- und Entschlüsselungsvorgänge problemlos durchgeführt werden können.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!