AES加密(CBC模式)

介绍

安全问题问题是一套程序中不可缺少的一部分,今天给大家分享个人最近使用的2款加密算法

安装依赖

cnpm install crypto-js --save-dev

使用
(1):创建文件来封装一下加解密函数方便后期全局使用

import CryptoJS from "crypto-js";  //引入依赖
const key = CryptoJS.enc.Utf8.parse("xxxx"); //十六位十六进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse('xxxxx'); //十六位十六进制数作为密钥偏移量
export function Encrypt(word) {  //加密 入参:JSON字符串
    let srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
         //注意这里的Pkcs7格式,这里是有其他格式的具体还是看后台使用的是什么格式
        //如果格式和后端不一致,加密后的内容会和后端不一致
    });
    return encrypted.toString();
}
export function Decrypt(word) { //解密
    var decrypt = CryptoJS.AES.decrypt(word, key, {
        iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7  
        //注意这里的Pkcs7格式,这里是有其他格式的具体还是看后台使用的是什么格式
        //如果格式和后端不一致,解密出来无法转成JSON格式或者根本解不出来
    });
    return decrypt.toString(CryptoJS.enc.Utf8);
}

(2):引用封装好的js

 import {Encrypt,Decrypt} from "xxxxx";
 let query = {name:"liingot"}
 Encrypt(JSON.stringify(query)) //加密
 Decrypt(xxxxxx) //解密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值