cryptoJS AES 加解密简单使用
简单记录一下,前端利用 cryptoJS 如何加解密的。主要是关于 AES 加解密。
需求描述:需要对 url 中的参数进行 AES 解密,然后再把该参数进行 MD5 加密通过接口传递。
AES
AES:对称加密。加解密的双方使用同一个秘钥。秘钥不能在网络中传输,避免被拦截。如果要传输,必须要对秘钥进行非对称加密再加密一次。
对称加密,比非对称加密速度快。
算法理解篇可参考(个人认为还是非常详细的):AES加密算法的详细介绍与实现
使用篇可参考:理解AES加密解密的使用方法
ios,Android,前端 多端实现可参考:AES三端加密解密 – iOS与Android,JS的同步实现
在实现的时候,由于AES加密的方式很多,所以需要先商量并确定好采用的 AES 的 vi (初始变量)、key(秘钥)、mode(加密模式)、padding(填充方式)。这样在实现多端加解密的时候才都正确。
AES.js
import CryptoJS from 'crypto-js'
const key = 'aaaabbbbccccdddd'
const iv = '1234567887654321'
// 加密
function Encrypt (text) {
return CryptoJS.AES.encrypt(text, CryptoJS.enc.Utf8.parse(key), {
iv: CryptoJS.enc.Utf8.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString()
}
// 解密
function Decrypt (text) {
let decrypted = CryptoJS.AES.decrypt(text, CryptoJS.enc.Utf8.parse(key), {
iv: CryptoJS.enc.Utf8.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return decrypted.toString(CryptoJS.enc.Utf8)
}
export default {
Encrypt,
Decrypt
}
使用:
let text = AES.Encrypt('123')
console.log(text)
console.log(AES.Decrypt(text))
MD5
MD5,不可逆,只能加密,不能解密哦。
import CryptoJS from 'crypto-js';
CryptoJS.MD5('123').toString();
关于 crypto.js
crypto.js 是一个纯 JavaScript 写的加密算法类库,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。github
cryptoJS AES 加解密简单使用的更多相关文章
- [转帖]前端 crypto-js aes 加解密
前端 crypto-js aes 加解密 2018.04.13 11:37:21字数 891阅读 59767 https://www.jianshu.com/p/a47477e8126a 原来前端也有 ...
- 前端 crypto-js aes 加解密
下载:npm install crypto-js --save 需要定义两个方法 ,分别是用于加密和解密,这里我将它放在了 utils 文件夹下,命名为 secret.js ,其具体代码如下: con ...
- OpenSSL aes加解密实例+base64编解码
OpenSSL aes加解密简单实例+base64编解码 #include <stdio.h> #include <string.h> #include <memory. ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- AES加解密算法Qt实现
[声明] (1) 本文源码 在一位未署名网友源码基础上,利用Qt编程,实现了AES加解密算法,并添加了文件加解密功能.在此表示感谢!该源码仅供学习交流,请勿用于商业目的. (2) 图片及描述 除图1外 ...
- AES加解密程序的实现
AES加解密程序的实现正常情况,用户不能访问sys.dbms_crypto,需要DBA授权:grant execute on dbms_crypto to crm;建立加解密的PKG_AES包:CRE ...
- DES,AeS加解密,MD5,SHA加密
1.DES一共就有4个参数参与运作:明文.密文.密钥.向量.其中这4者的关系可以理解为: 密文=明文+密钥+向量: 明文=密文-密钥-向量: 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复, ...
- c# Aes加解密和对象序列化
aes加解密 public class AesCryptto { private string key = "hjyf57468jhmuist"; private string i ...
- Java、C#双语版配套AES加解密示例
这年头找个正经能用的东西那是真难,网上一搜索一大堆,正经能用的没几个,得,最后还是得靠自己,正巧遇上需要AES加解密的地方了,而且还是Java和C#间的相互加解密操作,这里做个备忘 这里采用的加解 ...
随机推荐
- [ES]elasticsearch章5 ES的分词(二)
Elasticsearch 中文搜索时遇到几个问题: 当搜索关键词如:“人民币”时,如果分词将“人民币”分成“人”,“民”,“币”三个单字,那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将 ...
- flex布局嵌套之高度自适应
查遍各大资源无任何flex嵌套布局的例子,经过自己折腾完成了项目中的高度自适应需求(更多应用于前端组件) 效果图: html代码:(关键地方已经用颜色特别标识 ^_^) <!DOCTYPE ht ...
- Vmware Workstation - linux系统下 VmTools 安装
程序版本 : VMware® Workstation 14 Pro 系统环境 : win10 64位下 ubuntu-14.04.5-desktop-amd64 问题:在运行linux系统过程中,de ...
- 常见的hbase jar
- android 开发案列汇总
Android 开发案列汇总 1.一款轻量级的便签软件,界面简单干净,绿色无广告.支持部分Markdown语法,可以方便地输入和预览Markdown文本,并且生成长微博图片保存到本地. 文章来源:ht ...
- clouderamanager安装
下载地址 http://archive.cloudera.com/cm5/cm/5/ 安装 先安装manager,再安装cdh 待续
- springIOplatform
因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号 <dependency> <groupId>org.springframew ...
- Python Day 6
阅读目录: 内容回顾: 深浅拷贝: 元组: 字典 集合 ##内容回顾 #1.数字类型 int | float | bool | complex #2.字符串 #常规操作: -- 索 ...
- Codeforces Round #555 (Div. 3) E. Minimum Array
题意:b数组可以自由排序,c[i]=(a[i]+b[i])%n. 题目中要求c数组的字典序是最小的.那么我们需要尽量满足前面的c[i],才能使字典序最小. 我们知道a[i]和b[i]都是[0,n-1] ...
- MUI中超链接失效解决办法
重新绑定a标签点击事件,用 plus.runtime.openURL(this.href) 打开新页面