vue中使用AES.js和crypto.js加密
一:crypto-js加密
1.1:安装依赖
npm install crypto-js --save-dev
1.2 :在项目目录上创建一个js文件里面写入加密,解密的代码
mport CryptoJS from 'crypto-js'
/**
*
* @param {*待加密的字符串} str
* @param {*相当于是密钥} strKey
* @param {*相当于是双层密钥的意思} strIv
* strKey strIv长度需要和后面商量
*/
export let encrypt = function (str, strKey, strIv) { //加密
let key = CryptoJS.enc.Utf8.parse(strKey);
let iv = CryptoJS.enc.Utf8.parse(strIv);
let encrypted = ''; let srcs = CryptoJS.enc.Utf8.parse(str);
encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString();
};
export let decrypt = function (str, strKey, strIv) { //解密
let key = CryptoJS.enc.Utf8.parse(strKey);
let iv = CryptoJS.enc.Utf8.parse(strIv);
let encryptedHexStr = CryptoJS.enc.Hex.parse(str);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
};
export function getTimes() {
return new Date().getTime()
};
当然具体加密方式就要看公司内部的规则。但是方法差不多
1.3:main.js中全局引入
import { encrypt, decrypt } from '@/utils/encryp.js'; Vue.prototype.encrypt = encrypt
Vue.prototype.decrypt = decrypt
1.4:在你想要使用的页面进行使用
let c = this.encrypt("所需加密的字符串")
console.log(c) //加密
let d = this.decrypt(c)
console.log(d) //解密
二:AES.js加密
其实方法大同小异
2.1:装依赖
npm install aes-js
2.2:创建文件装代码
var data1={}//要加密的数据 var aseKey='你们公司自己的密钥';//密钥
var key = CryptoJS.enc.Utf8.parse(aesKey);//将密钥转换成Utf8字节数组 //加密
var encrypt = CryptoJS.AES.encrypt(JSON.stringify(data1), key, {
iv: CryptoJS.enc.Utf8.parse(aseKey.substr(0,16)),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var data2=encrypt.toString();//加密后的数据 //解密 var decrypt = CryptoJS.AES.decrypt(data2, key, {
iv: CryptoJS.enc.Utf8.parse(aseKey.substr(0,16)),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var data3=JSON.parse(decrypt.toString(CryptoJS.enc.Utf8));//解密后的数据
2.3:然后与上面相同在自己需要的地方使用
AES.JS加密取自于:https://blog.csdn.net/yingbaoyu/article/details/95761177 经过实际的测试也可以达到加密的效果。
vue中使用AES.js和crypto.js加密的更多相关文章
- vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用
1.前言 最近,为公司开发交付的一个后台管理系统项目,我使用了 Vue 框架进行开发实践. 模块化.组件化.工程化的开发体验非常好.良好的 api,优雅的设计,对于工程师非常友好. 但是由于模块比较多 ...
- vue中使用剪切板插件 clipboard.js
vue中使用剪切板需要借助一个插件,clipboard,使用方法还是很简单的,先下载,然后引入: npm i clipboard -S //引入 import Clipboard from 'clip ...
- vue中封装一个全局的弹窗js
/** * Created by yx on 2017/12/21. */ export default { /** * 带按钮的弹框 * <!--自定义提示标题,内容,单个按钮事件--> ...
- vue中config/index.js:配置的详细理解
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
- 对vue中 默认的 config/index.js:配置的详细理解 -【以及webpack配置的理解】-config配置的目的都是为了服务webpack的配置,给不同的编译条件提供配置
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
- Vue、webpack中默认的config.js、index.js 配置详情
在vue.js 框架搭建好后,其vue-cli 自动构建的目录里面相关环境变量及其基本变量配置,如下代码所示: module.exports = { build: { index: path.reso ...
- vue中打包后vendor文件包过大
vue中webpack打包后vendor.xxx.js文件一般都特别大,其原因是因为我们引用的依赖都被压缩成一个js文件,这样会导致vendor文件过大.页面加载速度过慢,影响用户体验.所以我们就要把 ...
- vue中webpack的配置理解
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
- vue中打包之后的dist文件不放在服务器的根目录下
在工作当中,我使用webpack打包的dist,由于管理的问题,无法被放在服务器根目录下 ,但在目前的vue配置,dist不放在根目录下,访问页面会成为一片空白,于是便要对vue框架的config进行 ...
随机推荐
- Python中使用f字符串进行字符串格式化的方法
在<第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化>介绍了使用format进行字符串格式化的方法,在Python 3.6中,如果格式化字符串中的关键字参数 ...
- PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...
- Python+Qt学习随笔:PyQt图形界面应用的事件处理流程
图形界面的事件处理是界面操作的核心,经过编写测试程序验证,基本确认PyQt图形界面应用程序的事件处理流程如下: 1.操作系统或其他应用发送消息给应用主程序: 2.应用主程序调用notify将消息队列中 ...
- 操作系统精髓与设计原理(九)——I/O管理和磁盘调度
文章目录 I/O设备 I/O功能组织 直接存储器访问 操作系统设计问题 设计目标 IO功能的逻辑结构 I/O缓冲 单缓冲 双缓冲 循环缓冲 缓冲的作用 磁盘调度 磁盘性能参数 磁盘调度策略 先进先出 ...
- window启动mongoDB
windows启动mongo服务 建议使用docker,方便又快捷,可以查看我的其他文章有介绍 创建好日志文件夹后执行以下命令 mongod.exe --logpath "C:\mongod ...
- Node:使用express搭建一个简易的服务器
①安装node环境 在node.js官网下载LTS长期支持版本,然后傻瓜式安装 ②查看是否安装成功 打开cmd终端,输入node -v 有版本号,则安装成功.再输入npm -v 有版本号,则npm也安 ...
- uniapp图片转base64
直接上代码了,网上也很多一样的,这里记录下,因为仅仅第二种在真机微信小程序上我这里测试转换失败,所以就一并写在这里了: //图片转base64 urlTobase64(url){ // #ifdef ...
- I/O接口
目录 I/O接口的功能 接口的功能(要解决的问题) 接口的功能(具体操作) I/O接口的基本结构 接口和端口 I/O端口及编址 统一编址 独立编址 I/O接口的类型 小结 接口可以看作是两个部件之间的 ...
- Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)
1. 主从复制解释 将主数据库的增删改查等操作记录到二进制日志文件中,从库接收主库日志文件,根据最后一次更新的起始位置,同步复制到从数据库中,使得主从数据库保持一致. 2. 主从复制的作用 高可用 ...
- Elastic Search 学习之路(三)—— tutorial demo
一.ElasticSearch tutorial demo example 1. 单机.local.CRUD操作 实现方式: SpringBoot + ElasticSearch 拷贝的小demo,原 ...