1. 程式人生 > 實用技巧 >vue專案加密之CBC加密

vue專案加密之CBC加密

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加密