zoukankan      html  css  js  c++  java
  • 在vue或js中的异或解密和aes(des)配合使用

    简单粗暴,直接贴代码:

     1 //AES解密
     2 decryptData(toDecrypt) {
     3      var key='mochouhuaNumber1';//密钥(和后端约定的)
     4      var base64 = CryptoJS.enc.Utf8.parse(key);
     5      var iv=CryptoJS.enc.Utf8.parse('number1Mochouhua');//偏量(也是约定的)
     6      var con = this.Restore(toDecrypt, '7');//先进行异或解密得到字符串
     7      var decryptr = CryptoJS.AES.decrypt(con, base64,{//这一段是固定的如果是des解密只需把aes换成des即可
     8           iv: CryptoJS.enc.Utf8.parse('number1Mochouhua'),
     9          mode: CryptoJS.mode.CBC,
    10          padding: CryptoJS.pad.Pkcs7
    11      });
    12    //解析数据后转为UTF-8
    13    return JSON.parse(decryptr.toString(CryptoJS.enc.Utf8));
    14 },
    15 // 异或解密(异或加密相当于一个双重加密,双重保障更安全)
    16 Restore(str, keyIndex)
    17 {
    18     var s="";
    19     var arr=[...str];
    20     for(var i=0;i<arr.length;i++){
    21         s+=String.fromCharCode(arr[i].charCodeAt()^keyIndex);//keyIndex是与后端约定好的,得到加密字符的unicode编码与keyIndex进行异或,最后得到异或过的字符
    22    }
    23    return s;
    24 },
  • 相关阅读:
    UVA11464偶数矩阵
    UVA11464偶数矩阵
    UVA11462年龄排序
    UVA11462年龄排序
    UVA11427玩纸牌(全概率+递推)
    UVA11427玩纸牌(全概率+递推)
    UVA11389巴士司机问题
    LA3644简单并查集判环
    LA3027简单带权并查集
    LA3027简单带权并查集
  • 原文地址:https://www.cnblogs.com/liyue666/p/9869196.html
Copyright © 2011-2022 走看看