web-dev-qa-db-fra.com

Comment utiliser CryptoJS avec Angular 4

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?

16
ecain

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.

29
CharanRoot

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);
0
Yogesh Chaudhari