AES 在密码学中又称 Rijndael 加密法。
首先下载大包
npm install crypto-js --save
然后下载ts版本的包
npm install --save @types/crypto-js
创建一个加密服务:crypto.service.ts
import { Injectable } from '@angular/core';
import { AES, enc, mode, pad } from 'crypto-js';
@Injectable()
export class CryptoService {
private key: string = 'xxxxxxxxxxxxxxxxxxxxxx';
constructor() {
}
/**
* AES加密
*/
encryptByEnAES(data: string): string {
let Key = enc.Utf8.parse(this.key);
let tmpAES = AES.encrypt(enc.Utf8.parse(data), Key, {
mode: mode.ECB,
padding: pad.Pkcs7
});
return tmpAES.toString();
}
/**
* AES解密
*/
encryptByDeAES(data: string): string {
let Key = enc.Utf8.parse(this.key);
let tmpDeAES = AES.decrypt(data, Key, {
mode: mode.ECB,
padding: pad.Pkcs7
});
return tmpDeAES.toString(enc.Utf8);
}
}