When I was not using Angular 4, I would just put the script
tags for the library. Even when I put the script
tags in the index.html
file it is not recognizing CryptoJS
. Is there a way to use the library or a Angular equivalent?
CryptoJS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.
In case of AES-256 - block size is, obviously, 256 bits, which is 32 bytes, which is exactly what you get by CryptoJS. enc. Base64. parse() of 22 byte Base64 string. According to specification and algorithm, IV is exactly block size length, which is 32 bytes with AES-256.
Install using NPM and import below statement in you component file.
npm install crypto-js
import * as crypto from 'crypto-js';
now you can use crypto in your component file.
Use following command to install cryptoJS
npm install crypto-js --save
You can then build a AESEncryptDecryptService service.
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);
}
}
In your component, Import & Inject this service
import { AESEncryptDecryptService } from '../services/aesencrypt-decrypt.service';
constructor(private _AESEncryptDecryptService: AESEncryptDecryptService) { }
Use encrypt / decrypt functions
let encryptedText = _self._AESEncryptDecryptService.encrypt("Hello World");
let decryptedText = _self._AESEncryptDecryptService.decrypt(encryptedText);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With