在vue或js中的异或解密和aes(des)配合使用

摘要:
简单粗暴,直接粘贴代码:1//AES解密2decryptData(toDecrypt){3varkey='mochouhuaNumber1';//密钥(与后端商定)4varbase64=CryptoJS.enc.Utf8.parse(密钥);5varv=CryptoJS.enc.Utf8.parse

简单粗暴,直接贴代码:

 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 },

免责声明:文章转载自《在vue或js中的异或解密和aes(des)配合使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VB.NET Winform的一些功能实现Spring boot 使用profile完成不同环境的maven打包功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何在Vue中建立全局引用或者全局命令

1 一般在vue中,有很多vue组件,这些组件每个都是一个文件。都可能需要引用到相同模块(或者插件)。我们不想每个文件都import 一次模块。 如果是基于vue.js编写的插件我们可以用 Vue.use(...) main.js  2 但是如果想添加一个全局命令,同时又让每个vue的文件都能用到怎么办? 第一步:最好建立一个全局的命令文件例如:dire...

vue3.x 中获取dom元素

vue3.x的语法虽然和vue2 比没法发生什么变化,但是在写法上发生了很大的变化 在vue2中我们可以通过this$refs.['XX'] 获取dom 元素,但是在vue3.x中已经舍弃了refs,下面就是vue3中获取dom 元素 1.为节点添加一个 ref 名称2.创建 ref 响应式常量并且与 DOM 节点名称一致 ,且值为 null3.在 mou...

js原型链hook

比如我们想对对字符串进行split() 我们可以这么写 String.prototype.split_bk=String.prototype.split; String.prototype.split = function(val){ str = this.toString() debugger; return str.spilt_bk(val) } 最...

Java Swing编程之仿js树状折叠菜单

最近要完成一个需求:用swing做个树状菜单,含二级菜单,点击一级菜单展开二级菜单,且二级菜单数目超过预览视图会出现滚动条。由于swing研究的少,花了不少精力! 先看下测试效果图: 收起图: 展开图: 完整源码: 1 package com.xuwei.test2; 2 3 import java.awt.BorderLayout;...

vue对vue-giant-tree进行节点操作

vue 项目中使用到了vue-giant-tree这个使用ztree封装的树形插件,在对其节点进行操作时遇到了无法向传统的jquery那样获取到ztreeObj;而导致了无法控制节点dom;浪费了许多时间,so特此记录一哈 Vue-Giant-Tree Vue-Giant-Tree是最ztree的一个封装;用于vue 项目中,该ztree的好处就是不需要...

js获取图片信息(一)-----获取图片的原始尺寸

如何获取图片的原始尺寸大小?   如下,当给 img 设置一个固定的大小时,要怎样获取图片的原始尺寸呢? #oImg{ 100px; height: 100px; } <img src="images/test.jpg" id="oImg" alt=""> 方法一: HTML5提供了一个新属性 naturalWi...