1、安装

npm install crypto-js --save-dev

也可以指定版本

npm install crypto-js@3.3.0 --save-dev

2、写js方法文件des.js
提供两种方式(加密结果有所不同)
方式一:

import cryptoJs from 'crypto-js'export const encryptDes = (message, key) => {let keyHex = cryptoJs.enc.Utf8.parse(key)let option = { mode: cryptoJs.mode.ECB, padding: cryptoJs.pad.Pkcs7 }let encrypted = cryptoJs.DES.encrypt(message, keyHex, option)return encrypted.ciphertext.toString()
}export const decryptDes = (message, key) => {let keyHex = cryptoJs.enc.Utf8.parse(key);let decrypted = cryptoJs.DES.decrypt({ciphertext: cryptoJs.enc.Hex.parse(message)},keyHex,{mode: cryptoJs.mode.ECB,padding: cryptoJs.pad.Pkcs7})return decrypted.toString(cryptoJs.enc.Utf8)
}

方式二:

import cryptoJs from 'crypto-js'export const encryptDes = (message, key) => {let keyHex = cryptoJs.enc.Utf8.parse(key);let encrypted = cryptoJs.DES.encrypt(message, keyHex, {mode: cryptoJs.mode.ECB,padding: cryptoJs.pad.Pkcs7,});return encrypted.toString();
}export const decryptDes = (message, key) => {let keyHex = cryptoJs.enc.Utf8.parse(key);let decrypted = cryptoJs.DES.decrypt({ciphertext: cryptoJs.enc.Base64.parse(message),},keyHex,{mode: cryptoJs.mode.ECB,padding: cryptoJs.pad.Pkcs7,});return decrypted.toString(cryptoJs.enc.Utf8);
}

3、引入。
在main.js中引入

import { encryptDes, decryptDes } from './utils/des'
Vue.prototype.encryptDes = encryptDes;
Vue.prototype.decryptDes = decryptDes;

4、使用
示例:

let obk = {ceshi:'ceshi1',a:'aa',b:'bb'
}
let key = 'ceshiKEY';

方式一使用结果:

//加密
let jiam = this.encryptDes(JSON.stringify(obk),key)
console.log(jiam)
//结果是:bb8d7d51ab6a47e0bff4a057181fb571472a8621281dd6c19673742c79d4e5a3f0aaabe9f77124e8
//解密
let jmJson= this.decryptDes(jiam,key);
console.log(jmJson)
//结果是(字符串):{"ceshi":"ceshi1","a":"aa","b":"bb"}

方式二结果:

//加密
let jiam = this.encryptDes(JSON.stringify(obk),key)
console.log(jiam)
//结果是:u419UatqR+C/9KBXGB+1cUcqhiEoHdbBlnN0LHnU5aPwqqvp93Ek6A==
//解密
let jmJson= this.decryptDes(jiam,key);
console.log(jmJson)
//结果是(字符串):{"ceshi":"ceshi1","a":"aa","b":"bb"}

注:

  1. 给对象等加密要先转成字符串;
  2. 方式一和方式二的加解密不能混用;

vue项目中Des的加密解密相关推荐

  1. vue rsa加密 php解密,Vue项目中的RSA加解密

    一.安装jsencrypt 1 npm i jsencrypt node_modules文件夹中出现jsencrypt 二.引入jsencrypt 在main.js中import: 1 import ...

  2. Vue项目中的RSA加解密

    前后端使用rsa加密:  一般是客户端初始化时访问登录服务时,服务端面动态生成一对RSA对,公钥传给客户端,客户端拿到后,用户输入密码后,点登录时用公钥加密返回给服务端,服务端用私钥解就行了 一.安装 ...

  3. 【土旦】vue项目中 使用 pako.js 解密 gzip加密字符串

    前言 今天跟后台对接一个接口,接受到一个加密的值,说是通过gzip加密过的,然后就蒙蔽了, 赶紧上百度找了一下资料,通过一篇文章(原文在底部)发现有个js库可以解密,就下载轻松解密了 实现代码 pok ...

  4. 如何在vue项目中使用md5加密

    npm安装: npm install --save js-md5 1.在需要使用的项目文件中引入: import md5 from 'js-md5'; 使用: md5('holle')  // bce ...

  5. vue项目中加密和解密

    Vue项目使用AES做加密 aes.js 文件内容如下: // test under node v6.11.1 const crypto = require("crypto");  ...

  6. vue.js中DES、RSA、SHA1、MD5这四种加密算法的使用

    vue.js中DES.RSA.SHA1.MD5这四种加密算法的使用 DES RSA SHA1 MD5 DES 美国 数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也 ...

  7. 关于项目中数据库密码加密的使用

    关于项目中数据库密码加密的使用 1 使用需求 2 使用步骤 1 准备一个SpringBoot项目环境 2 添加jasypt的jar包 3 创建一个测试类 4 修改配置文件 5 启动项目,访问忌口 6 ...

  8. vue项目中 五小一大六宫格拖拽排序,6宫格拖拽换位,矩阵拖拽排序

    背景:项目中用到1.4.6.9.12.16宫格排序,拖拽换位等场景,项目是监控的视频矩阵,用户矩阵拖拽排序换位,之前已经实现1.4.9.12.16等矩阵式排列的拖拽排序,但是六宫格要求五小一大,之前的 ...

  9. vue项目中,兼容vue3.0 1.0 2.0 宫格拖拽排序,特殊五小一大六宫格拖拽

    前端时间写了标准宫格拖拽排序的文章       1.  2.4.9.12等等标准宫格拖拽,基于vue-grid-layout 拖拽换位无刷新 vue项目中 基于vue-grid-layout开发的拖拽 ...

最新文章

  1. Go: 分布式学习利器(2)-- Go中的变量,常量 以及与其他语言变量之间的差异
  2. java akiba,Map集合的遍历(java)
  3. 2、异步HTTP编程
  4. python能不能用c打开文件_C/C++/Python等 使用二进制模式打开文件与不使用二进制模式的区别...
  5. 不修条地铁,都不好意思叫自己大城市
  6. 电子科大计算机2014级,电子科大-计算机-操作系统实验报告-2014级.docx
  7. python 员工考勤_用python写的考勤自动打卡程序
  8. 【转】Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)...
  9. Vue v-on v-model 组合使用
  10. VB 用zint 库生成PDF417及其他条码
  11. 软件测试结果分析和质量报告
  12. 独孤求败-小滴云架构大课十八式
  13. AR涂涂乐⭐八、(add)优化原代码“7”、正方形识别图改为矩形识别图、增加BGM和App 图标
  14. python如何压缩pdf_PDF怎么压缩?,懂得这些技巧就够了
  15. 十大宽带共享组网方式(转)
  16. Java NIO简介
  17. phpmyadmin 4.8.1 Remote File Inclusion Vulnerability (CVE-2018-12613)漏洞复现
  18. sv_labs学习笔记——sv_lab1(System Verilog)
  19. android 仿微信demo————微信消息界面实现(移动端)
  20. (五)R语言入门生物信息学——ORF和序列分析

热门文章

  1. Java遍历JsonObject对象
  2. 人工智能 | CIFAR10卷积神经网络实践
  3. 输出1900至2000年(包含1900年和2000年)间的所有闰年
  4. ajax如何隐藏请求参数,全面解析$.Ajax()方法参数(推荐)
  5. Windows Jenkins安装及配置
  6. 关乎谷歌浏览器打不开ftp的问题
  7. python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹
  8. Ubuntu离线安装Nvidia显卡驱动
  9. ubuntu16.04安装wechat
  10. 关于虚拟串口驱动专业版 Eltima Virtual Serial Port Driver Pro 注册原理