Как использовать CryptoJS с Angular 4

Когда я не использовал Angular 4, я просто ставил теги script для библиотеки. Даже когда я помещаю теги script в файл index.html, он не распознает CryptoJS. Есть ли способ использовать библиотеку или эквивалент Angular?


person ecain    schedule 12.07.2017    source источник


Ответы (3)


Установите с помощью NPM и импортируйте приведенный ниже оператор в файл компонента.

npm install crypto-js

import * as crypto from 'crypto-js';

теперь вы можете использовать криптографию в файле вашего компонента.

person CharanRoot    schedule 12.07.2017
comment
Я бы также добавил npm install @types/crypto-js, чтобы иметь типы - person igor_c; 20.08.2019

Используйте следующую команду для установки cryptoJS

npm install crypto-js --save

Затем вы можете создать службу 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);
  }
}

В вашем компоненте импортируйте и внедрите эту службу

import { AESEncryptDecryptService } from '../services/aesencrypt-decrypt.service'; 


constructor(private _AESEncryptDecryptService: AESEncryptDecryptService) { }

Используйте функции шифрования/дешифрования

let encryptedText = _self._AESEncryptDecryptService.encrypt("Hello World");
let decryptedText = _self._AESEncryptDecryptService.decrypt(encryptedText);
person Yogesh Chaudhari    schedule 20.08.2019

Документация находится по адресу https://cryptojs.gitbook.io/docs/ Импорт для Angular 6 должен быть следующим:

import * as cryptoJS from 'crypto-js';
person Steve Klock    schedule 07.10.2019