zoukankan      html  css  js  c++  java
  • 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.简单使用

    在需要使用加密的页面中调用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加密

  • 相关阅读:
    html5+css3兼容问题小结
    webkit滚动条样式设置
    rem彻底研究
    四月、五月开发总结
    php oci8 小试
    oracle创建dblink
    php 页面参数过多时自动拼接get参数的函数
    Oracle Database 11g Express Edition 使用小结(windows)
    php sortable 动态排序
    php动态生成一个xml文件供swf调用
  • 原文地址:https://www.cnblogs.com/loveliang/p/13572321.html
Copyright © 2011-2022 走看看