Während der Projektentwicklung werden aufgrund der Notwendigkeit, vertrauliche Informationen der Schnittstellenparameter zu verschlüsseln und zu übertragen, auch die von der Backend-Schnittstelle zurückgegebenen Parameter verschlüsselt, und zu diesem Zeitpunkt sind Verschlüsselungs- und Entschlüsselungsvorgänge erforderlich.
Dieser Artikel verwendet AES für die Verschlüsselung und Entschlüsselung. Der AES-Verschlüsselungsalgorithmus bietet fünf verschiedene Arbeitsmodi: CBC, ECB, CTR, CFB, OFB
Hier werden nur die CBC- und ECB-Verschlüsselung und -Entschlüsselung erläutert. Die Hauptunterschiede zwischen diesen beiden Verschlüsselungsmodi bei Verwendung im Frontend sind wie folgt:
Bei einer grundlegenden Verschlüsselungsmethode wird der Chiffretext in Blöcke gleicher Länge (nicht genug zum Füllen) unterteilt, dann einzeln verschlüsselt und einzeln ausgegeben, um den Chiffretext zu bilden.
In einem zyklischen Modus werden der Chiffretext der vorherigen Gruppe und der Klartext der aktuellen Gruppe vor der Verschlüsselung XOR-verknüpft oder verschlüsselt. Der Zweck besteht darin, die Schwierigkeit des Knackens zu erhöhen. (Es ist nicht einfach, aktiv anzugreifen, die Sicherheit ist besser als bei ECB und es ist der Standard von SSL und IPSec.)
AES-Verschlüsselung und -Entschlüsselung
Abhängigkeiten installieren
npm install crypto-js --save-dev
Kapselungsverschlüsselungs- und -entschlüsselungsmethode (ECB-Modus)
Kapseln Sie die folgende Methode und nennen Sie die Datei aes.js