一:crypto-js加密
1.1:安装依赖
npm install crypto-js --save-dev
1.2 :在项目目录上创建一个js文件里面写入加密,解密的代码
mport CryptoJS from 'crypto-js' /** * * @param {*待加密的字符串} str * @param {*相当于是密钥} strKey * @param {*相当于是双层密钥的意思} strIv * strKey strIv长度需要和后面商量 */ export let encrypt = function (str, strKey, strIv) { //加密 let key = CryptoJS.enc.Utf8.parse(strKey); let iv = CryptoJS.enc.Utf8.parse(strIv); let encrypted = ''; let srcs = CryptoJS.enc.Utf8.parse(str); encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.ciphertext.toString(); }; export let decrypt = function (str, strKey, strIv) { //解密 let key = CryptoJS.enc.Utf8.parse(strKey); let iv = CryptoJS.enc.Utf8.parse(strIv); let encryptedHexStr = CryptoJS.enc.Hex.parse(str); let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString(); }; export function getTimes() { return new Date().getTime() };
当然具体加密方式就要看公司内部的规则。但是方法差不多
1.3:main.js中全局引入
import { encrypt, decrypt } from '@/utils/encryp.js'; Vue.prototype.encrypt = encrypt Vue.prototype.decrypt = decrypt
1.4:在你想要使用的页面进行使用
let c = this.encrypt("所需加密的字符串") console.log(c) //加密 let d = this.decrypt(c) console.log(d) //解密
二:AES.js加密
其实方法大同小异
2.1:装依赖
npm install aes-js
2.2:创建文件装代码
var data1={}//要加密的数据 var aseKey='你们公司自己的密钥';//密钥 var key = CryptoJS.enc.Utf8.parse(aesKey);//将密钥转换成Utf8字节数组 //加密 var encrypt = CryptoJS.AES.encrypt(JSON.stringify(data1), key, { iv: CryptoJS.enc.Utf8.parse(aseKey.substr(0,16)), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var data2=encrypt.toString();//加密后的数据 //解密 var decrypt = CryptoJS.AES.decrypt(data2, key, { iv: CryptoJS.enc.Utf8.parse(aseKey.substr(0,16)), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var data3=JSON.parse(decrypt.toString(CryptoJS.enc.Utf8));//解密后的数据
2.3:然后与上面相同在自己需要的地方使用
AES.JS加密取自于:https://blog.csdn.net/yingbaoyu/article/details/95761177 经过实际的测试也可以达到加密的效果。