赞
踩
为什么要编码?
由于一些网络通讯协议的限制, 又或者是出于信息加密的目的, 我们就需要将原信息转换为base64编码,然后才能进行传输.例如,发送某些含有 ASCII 码表中0到31之间的控制字符的数据。
window.btoa 对字符串进行 base64编码(注意不能编码中文);
winodw.atob 对 base64字符串 进行解码(对于包含中文的 base64编码,不能正确解码);
AES 加密 —安装:
npm install crypto-js
aes加密: crypto.js
import CryptoJS from "crypto-js"; let CryptoJSKey = '0fHBHGFCRFFG1e25se' //16位自定义的,要与后端一起配置 const key = CryptoJS.enc.Utf8.parse(CryptoJSKey); const iv = CryptoJS.enc.Utf8.parse(CryptoJSKey); //AES加密传参 (封装) Encrypt(word) { let srcs = CryptoJS.enc.Utf8.parse(word);//需要加密的内容 // let encrypted = CryptoJS.AES.encrypt(srcs, key, { // iv: iv, // mode: CryptoJS.mode.CBC, // padding: CryptoJS.pad.Pkcs7 // }); if (typeof word == "string") { const srcs = CryptoJS.enc.Utf8.parse(word); encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); } else if (typeof word == "object") { //对象格式的转成json字符串 const data = JSON.stringify(word); const srcs = CryptoJS.enc.Utf8.parse(data); encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。