Lorsque je n'utilisais pas Angular 4, je mettais simplement les balises script
pour la bibliothèque. Même lorsque je mettais les balises script
dans le index.html
fichier qu'il ne reconnaît pas CryptoJS
. Existe-t-il un moyen d'utiliser la bibliothèque ou un équivalent Angular?
Installez à l'aide de NPM et importez l'instruction ci-dessous dans votre fichier de composant.
npm install crypto-js
import * as crypto from 'crypto-js';
vous pouvez maintenant utiliser la cryptographie dans votre fichier de composant.
Utilisez la commande suivante pour installer cryptoJS
npm install crypto-js --save
Vous pouvez ensuite créer un service AESEncryptDecryptService.
import { Injectable } from '@angular/core';
import * as CryptoJS from 'crypto-js';
@Injectable({
providedIn: 'root'
})
export class AESEncryptDecryptService {
secretKey = "YourSecretKeyForEncryption&Descryption";
constructor() { }
encrypt(value : string) : string{
return CryptoJS.AES.encrypt(value, this.secretKey.trim()).toString();
}
decrypt(textToDecrypt : string){
return CryptoJS.AES.decrypt(textToDecrypt, this.secretKey.trim()).toString(CryptoJS.enc.Utf8);
}
}
Dans votre composant, importez et injectez ce service
import { AESEncryptDecryptService } from '../services/aesencrypt-decrypt.service';
constructor(private _AESEncryptDecryptService: AESEncryptDecryptService) { }
Utiliser les fonctions de cryptage/décryptage
let encryptedText = _self._AESEncryptDecryptService.encrypt("Hello World");
let decryptedText = _self._AESEncryptDecryptService.decrypt(encryptedText);