vue專案加密之CBC加密
阿新 • • 發佈:2020-08-27
CBC加密
1.新增工具類
import CryptoJS from 'crypto-js' const keyStrs = 'huayunabcd123456' const keyIv = 'huayunkjsecurity' export default {//加密 encrypt(word){ // cbc加密 let key = keyStrs; let iv = keyIv; key = CryptoJS.enc.Utf8.parse(key); iv = CryptoJS.enc.Utf8.parse(iv); let srcs = CryptoJS.enc.Utf8.parse(word); // 加密模式為CBC,補碼方式為PKCS5Padding(也就是PKCS7) let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); //返回base64 return CryptoJS.enc.Base64.stringify(encrypted.ciphertext); }, //解密 decrypt(word){ let key = keyStrs; let iv = keyIv; key = CryptoJS.enc.Utf8.parse(key); iv = CryptoJS.enc.Utf8.parse(iv); let base64 = CryptoJS.enc.Base64.parse(word); let src = CryptoJS.enc.Base64.stringify(base64); // 解密模式為CBC,補碼方式為PKCS5Padding(也就是PKCS7) let decrypt = CryptoJS.AES.decrypt(src, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString(); } }
2. 使用方法
使用方法跟AES加密一樣,只不過是方法類裡面的內容改變了而已;
請閱讀vue專案加密之AES加密