大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!

  今天要推荐的是一款javascript加密库crypto-js,crypto-js是一个前端Javascript标准加密算法库,crypto-js为 JavaScript 提供了各种各样的加密算法。有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等。

在线测试:https://tool.oschina.net/encrypt


安装

  使用npm进行安装

npm install crypto-js

使用

  支持nodejs和浏览器

  • ES6
import sha256 from 'crypto-js/sha256';import hmacSHA512 from 'crypto-js/hmac-sha512';import Base64 from 'crypto-js/enc-base64';const message, nonce, path, privateKey; // ...const hashDigest = sha256(nonce + message);const hmacDigest = Base64.stringify(hmacSHA512(path + hashDigest, privateKey));
  • 模块化
var AES = require("crypto-js/aes");var SHA256 = require("crypto-js/sha256");...console.log(SHA256("Message"));
  • 直接引用

AES加密

  • 明文加密
var CryptoJS = require("crypto-js");// Encryptvar ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();// Decryptvar bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');var originalText = bytes.toString(CryptoJS.enc.Utf8);

console.log(originalText); // 'my message'
  • 对象加密
var CryptoJS = require("crypto-js");var data = [{id: 1}, {id: 2}]// 加密var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();// 解密var bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));

console.log(decryptedData); // [{id: 1}, {id: 2}]

结尾

  本期就分享到这里,我是小编南风吹,专注分享好玩有趣、新奇、实用的开源项目及开发者工具、学习资源!希望能与大家共同学习交流,欢迎关注我的公众号**【Github导航站】**。

往期推荐

往期推荐

这款小众的响应式vue后台开发框架,让他滚去收藏夹吧

字节跳动的这款图标库和阿里杠上了

忍住别笑!JS和JAVA的区别,一张图让你秒懂!

想接私活?试试这款Spring boot后台框架,效率飞起

这款优秀的Vue+ElementUI桌面端一站式框架,爱了!

vue base64加密对象_想加密JavaScript怎么办,试试这款加密库!相关推荐

  1. vue传递数组对象_详解vue组件三大核心概念

    前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛 ...

  2. python不能加密吗_为什么我不能解密我用pycrypto加密的内容?

    我的代码是: 加密:from Crypto.Cipher import AES import base64 def encryption (privateInfo): BLOCK_SIZE = 16 ...

  3. java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...

    前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...

  4. javascript 本地对象和内置对象_详解 JavaScript 面向对象

    1. 概述 JavaScript面向对象比较难理解的点是类的继承.不管是es5写法还是es6写法,JavaScript继承的本质是原型链.具体可看我的上一篇文章: 田浩:详解原型.原型链.构造函.实例 ...

  5. javascript 无法修改 数组中对象_如何使用JavaScript中的Date对象

    Date对象是一个内置函数,我们可以使用Date对象来显示日期,本篇文章就来给大家分享一篇有关于Date对象的使用方法. 内置函数我们可以使用new来创建 var 对象名称= new object() ...

  6. mysql 传输加密方式_请问各位大侠,要实现MYSQL加密传输,应该怎么做?

    MYSQL加密传输应该怎么实现,有如下的操作步骤: To get secure connections to work with MySQL, you must do the following: I ...

  7. vue 变量定义 对象_详解Vue 全局变量,局部变量

    局组件和局部组件 1.先定义组件   Vue.component('组件名', { 组件模板对象 }) 注意: 组件名不要使用原生的标签名, 若组件名定义时用的是驼峰命名法, 则调用时用中划线分割后小 ...

  8. mysql base64 加密解密_烂泥:base64加密与解密

    本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下 jenkins技术分享QQ群:571981257 一.什么是base64 base64是网络上最常见的用于传输8Bit字节码的编码方式 ...

  9. vue.js 密码加密_软件操作与排错专题_第五期文档及操作系统加密小攻略

    今天我将给大家演示一下如何加密文件.文档.以及设置操作系统账户密码. 一.文件加密 1.Word文档密码的设置 (1)打开Word文件, 选择菜单栏的"文件". (2)点击&quo ...

  10. python软件加密、固定机器使用_如何用Python进行最常见的加密操作?(附最新400集Python教程)...

    前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将 ...

最新文章

  1. R语言data.table导入数据实战:data.table使用by函数进行数据分组(aggregate)
  2. 进入贝壳网_贝壳网app下载安装
  3. Wince C++串口编程
  4. shell 命令行实现
  5. 【PC工具】chrome浏览器插件vimium:传说上网可以不用鼠标。VIM入门工具,妈妈再也不用担心我学不会vim了...
  6. 【干货】Linux 网卡绑定的相关知识和技巧
  7. Leaflet中通过setZIndex实现图层层级控制
  8. java nanotime 重复_Java中System.nanoTime方法能作为一个唯一字符串来使用吗
  9. “开发一个静态 HTML 页面,我要价 18000 美元,有错吗?”
  10. 零基础学web前端难吗?新手该怎么学?
  11. mysql 表字段部分替换
  12. TypeError:Joi.validate is not a function 解决办法
  13. c语言 整数除以分数,2019年六年级数学上册 3.1分数除法(第1课时)分数除法的意义和整数除以分数练习题 新人教版 (I).doc...
  14. Kotlin 的静态代码分析工具
  15. 5G NR CDRX
  16. 并行计算、分布式计算、网格计算讲解
  17. 机器学习笔记(一)-局部加权回归(Locally weighted regression)LWR
  18. redis实现坐标附近查询
  19. 如何在地图上显示多个红包商店 vue
  20. 与文本内容无关的说话人识别概述——从特征到超矢量

热门文章

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_汇总
  2. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_1_使用Properties集合存储数据,遍历取出集合中的数据...
  3. js设置radio单选框值选中
  4. 第三次作业_201731062533
  5. linux的sudo apt-get install 和dpkg -i package.deb命令
  6. Python Class System
  7. C#强化系列文章七:序列化和反序列化
  8. Discuz!NT 在线用户功能简介(转)
  9. 2019 支付宝App支付 --- PHP
  10. 【并发】关于并发、超卖处理的思路