使用crypto-js库进行加密解密

1.安装crypto-js

  npm install crypto-js -S 或 yarn add crypto-js

2.新建解密文件AES.js

import CryptoJS from 'crypto-js';

// 密钥
const key = CryptoJS.enc.Utf8.parse('123456789');
// 密钥偏移量
const iv = CryptoJS.enc.Utf8.parse('123456789');

/**
 * AES 解密
 * @param String
 */
const AES_Decrypt = str=> {
    let base64 = CryptoJS.enc.Base64.parse(str);
    let src = CryptoJS.enc.Base64.stringify(base64);
    var decrypt = CryptoJS.AES.decrypt(src, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
    return decryptedStr.toString();
};

/**
 * AES 加密
 * @param String
 */
const AES_Encrypt = str=> {
    let srcs = CryptoJS.enc.Utf8.parse(str);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
};

export { AES_Decrypt, AES_Encrypt };

mode:模式

padding:填充方式

 

posted @ 2021-05-18 08:18  半糖也甜吖  阅读(1447)  评论(0编辑  收藏  举报