一: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 經過實際的測試也可以達到加密的效果。
