前端使用CryptoJS v3.1.2进行AES加密

在项目中引用的依赖cipher-core.js,core-min.js,pad-zeropadding.js,aes.js
下载地址:https://github.com/brix/crypto-js/tree/develop/src
前端的AES加密

const key = CryptoJS.enc.Utf8.parse("1234567890000000");//密钥,前后端需要保持一致
const iv = CryptoJS.enc.Utf8.parse("1234567890000000");//一般是8位/16/32
function Encrypt(o) {
        if (typeof (o) === "string") {
            if (o) {
                var srcs = CryptoJS.enc.Utf8.parse(o);
                return CryptoJS.AES.encrypt(srcs, key, {
                    keySize: 128 / 8,
                    iv: iv,
                    mode: CryptoJS.mode.CBC,
                    // padding: CryptoJS.pad.Pkcs7
                    padding: CryptoJS.pad.ZeroPadding
                }).toString();//返回的是base64格式的密文
            }
        }
        else if (typeof (o) === "object") {
            for (var _o in o) {
                if (o[_o]) {
                    var srcs = CryptoJS.enc.Utf8.parse(o[_o]);
                    o[_o] = CryptoJS.AES.encrypt(srcs, key, {
                        keySize: 128 / 8,
                        iv: iv,
                        mode: CryptoJS.mode.CBC,
                        // padding: CryptoJS.pad.Pkcs7
                        padding: CryptoJS.pad.ZeroPadding
                    }).toString();
                }
            };
             // 或者   这种方式暂时没有尝试
        	// data = JSON.stringify(o);
        	// var srcs = CryptoJS.enc.Utf8.parse(data);
       		// return CryptoJS.AES.encrypt(srcs, key, {
        	//     keySize: 128 / 8,
       		//     iv: iv,
       		//     mode: CryptoJS.mode.CBC,
       	   //     // padding: CryptoJS.pad.Pkcs7
           //     padding: CryptoJS.pad.ZeroPadding
          // }).toString();
        }
        return o;
}
//使用
Encrypt("admin");//拿到的是base64编码
Encrypt("123456");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值