Vue项目使用AES做加密

1、先在vue项目中安装crypto-js

2、在项目中新建一个utils.js文件

3、utils.js文件中的内容

/**
 * 工具类
 */
import Vue from 'vue'
import CryptoJS from 'crypto-js'
export default {//加密
  encrypt(word, keyStr){ 
    keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString();
  },
  //解密
  decrypt(word, keyStr){  
    keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
    var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  }

}

注:1、一定要在该文件中引用vue和crypto-js。2、两个方法中的第一个参数word是待加密或者解密的字符串,第二个参数keyStr是aes加密需要用到的16位字符串的key。3、如果想对一个js对象加密,需要先把该对象转成json字符串。

4、测试:

在需要使用加密解密方法的vue组件中使用import引入utils.js文件即可使用了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏代码GG之家

RxAndroid完全教程

不知现在的编辑,能否好用一些呢?希望大家有什么意见,在公众号直接回复即可,想了解哪些知识点,也可以直接留言了。 炎炎夏日,清凉一夏 这章节主要介绍下Rx系列的经...

32790
来自专栏码字搬砖

kafka权限认证

背景: 最近公司因为用的云服务器,需要保证kafka的安全性。可喜的是kafka0.9开始,已经支持权限控制了。网上中文资料又少,特此基于kafka0.9,...

66830
来自专栏Seebug漏洞平台

漏洞分析】Shiro RememberMe 1.2.4 反序列化导致的命令执行漏洞

概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它编号为550的 issue 中爆出严重的 Java 反序列化漏洞。下...

3.4K50
来自专栏用户2442861的专栏

Qt学习之路_5(Qt TCP的初步使用)

http://www.cnblogs.com/tornadomeet/archive/2012/06/30/2571001.html

96710
来自专栏BinarySec

md5 caculator Writeup[pwnable.kr]

下载下来直接运行,提示缺libcrypto库,但是我却安装过了openssl。于是在lib下看,确实是没有这个库。因为我的环境是ubuntu x86_64装的o...

25020
来自专栏三流程序员的挣扎

RxJava 线程调度和源码阅读

通过 Scheduler 来控制被观察者在哪个线程发射,观察者在哪个线程接收。默认情况,发射时在哪个线程,接收就在哪个线程。

13830
来自专栏Jack的Android之旅

RxJava的消息发送和线程切换

RxJava相信大家都非常了解吧,今天分享一下RxJava的消息发送和线程源码的分析。最后并分享一个相关demo,让大家更加熟悉我们天天都在用的框架。

14320
来自专栏闻道于事

BCryptPasswordEncoder加密及判断密码是否相同

项目中用到了BCryptPasswordEncoder对密码进行二次加密,需要注意的是,加密后的字符串比较长,数据库的长度至少为60位。 通过BCryptPas...

2.2K50
来自专栏一个番茄说

函数响应式编程框架RxSwift 学习——Subject

简单的比喻下,Observable像是一个水管,会源源不断的有水冒出来。Subject就像一个水龙头,它可以套在水管上,接受Observable上面的事件。但是...

9920
来自专栏一直在跳坑然后爬坑

RxJava2操作符之“Distinct”

我们创建了一个会发送1, 2, 1, 1, 2, 3, 4, 6, 4 这些item的被观察者 其中1,2,4都有重复的数字 然后用操作符distinct去...

9420

扫码关注云+社区

领取腾讯云代金券