AES 加密 Ts 引入 crypto-js 2020-12-16

易阳朔
2023-12-01

AES 加密 Ts 引入 crypto-js

npm install crypto-js
  • 导入
  • import * as CryptoJS from "crypto-js";
import * as CryptoJS from "crypto-js";
//秘钥
const CRYPTOJSKEY = "";
const iv = "";

export class AesManager {

    //加密
    /*
    * {param} plaintText 加密明文
    * return  str 加密结果
    */
    public static encrypt(plaintText): string {
        var plaintText = plaintText;
        var options = {
            iv: CryptoJS.enc.Utf8.parse(iv),
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        };
        var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
        var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
        var encryptedBase64Str = encryptedData.toString();
        return encryptedBase64Str;
    }
    //解密
    /*
    * {param} plaintText 解密密文
    
    * return  str 解密结果
*/
    public static decrypt(encryptedBase64Str): string {
        var encryptedBase64Str = encryptedBase64Str;
        var options = {
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        };
        var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY);
        // 解密
        var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, options);
        // 解密后,需要按照Utf8的方式将明文转位字符串
        var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);
        return decryptedStr;
    }
};

还有个 crypto-ts
可能是大佬封装了,不过用起来都差不多

 类似资料: