首页 > 其他 > 详细

vue加密之CBC加密

时间:2020-08-27 17:34:28      阅读:63      评论:0      收藏:0      [点我收藏+]

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.简单使用

在需要使用加密的页面中调用crypto.js文件
import crypto from ‘../utils/crypto.js‘

完整页面代码(仅供参考)

<template>
  <div></div>
</template>
<script>
import crypto from "../utils/crypto.js";
export default {
  data() {
    return {};
  },
  methods: {
    aes() {
      var a = crypto.encrypt("我进行加密");
      var b = crypto.decrypt(a);
      console.log(a, "加密的密文");
      console.log(b, "解密成功的密文");
    },
  },
  mounted() {
    this.aes();
  },
};
</script>

3.简单效果展示

技术分享图片

4. 进阶使用

使用方法跟AES加密一样,只不过是方法类里面的内容改变了而已;
请阅读vue项目加密之AES加密

vue加密之CBC加密

原文:https://www.cnblogs.com/loveliang/p/13572321.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!