使用AES加密进行前端加、解密
什么是AES对称加密?
1、aes对称加密是最快速、简单的一种加密方式,加密(encryption)、解密(decryption)使用的是同一套密钥(secret key);
2、aes(advanced Encryption standard)高级加密标准,是最常见的对称加密算法(微信小程序的加密传输就是用的这套加密算法),简而言之,对称加密就是加密解密使用的是同一套密钥,适用于经常发送数据的场合;
3、非对称加密:加密和解密的密钥是不相同的,通常加密的速度比较慢,适合偶尔发送数据的场合;
前端加密、解密具体使用
1、首先我们要在目标文件夹中引入js文件,
2、其次在需要使用加密、解密的页面上进行引入,
<script type="text/javascript" src="js/aes.js"></script>
3、最后我们就开始在页面上进行加、解密操作;
======加密===========
var params={"jkhtbh":htbh,"ksrq":date,"jsrq":date1,"page":"1","size":"9999"};//秘钥var aesKey = 'gOuWYBjME1cVtc5S';//将秘钥转换成Utf8字节数组keyvar key = CryptoJS.enc.Utf8.parse(aesKey); //这里把我们得到的json对象转化成字符串srcs = CryptoJS.enc.Utf8.parse(JSON.stringify(params));//对转换后的字符进行加密var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
});
//把机密得到的字符串转换成大写字母
var jiami = encrypted.ciphertext.toString().toUpperCase();
//console.log("加密后的参数"+jiami);
console.log(jiami);=====解密=======
//对res进行解密success: function (res) {$('#loading').hide();$("#cxjg").show();var encryptedHexStr = CryptoJS.enc.Hex.parse(res);
var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var decrypt = CryptoJS.AES.decrypt(encryptedBase64Str, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
});
var jiemi = decrypt.toString(CryptoJS.enc.Utf8);
//这里将一个json字符串转换成对象result
var result = JSON.parse(jiemi);
//console.log("后端接口返回的值解密:"+result);
console.log(result);
JSON.parse()和JSON.stringify()
parse用于从一个字符串中解析出json对象
如:
var str = '{"name":"huangxiaojian","age":"23"}'
结果:
JSON.parse(str)
Object
age: “23"
name: “huangxiaojian"
__proto__: Object
stringify()用于从一个对象解析出字符串
如:
var a = {a:1,b:2}
结果:
JSON.stringify(a)
"{"a":1,"b":2}”
使用AES加密进行前端加、解密相关推荐
- 基于RSA和AES混合加密实现的加解密小工具
基于RSA和AES混合加密实现的加解密小工具 闲来无事,用python的tkinter开发了一个基于RSA和AES混合加密的小小工具.总结一下使用到的知识点. 首先是核心的加解密部分. 采用混合加密的 ...
- AES实现后端参数加解密
AES实现后端参数加解密 前言 介绍 Start 引入依赖 编写AES加解密工具类 自定义注解 编写请求数据解密 ControllerAdvice 编写返回数据加密 ControllerAdvice ...
- 微信信息如何在服务器加密,微信 消息加解密说明
公众号消息加解密是公众平台为了进一步加强公众号安全保障,提供的新机制.开发者需注意,公众账号主动调用API的情况将不受影响.只有被动回复用户的消息时,才需要进行消息加解密.消息加解密的具体修改包括:1 ...
- Python实现各种加密,接口加解密不说难
Hi,大家好.我们在接口自动化测试项目中,有时候需要一些加密.今天给大伙介绍Python实现各种加密,接口加解密再也不愁. 目录 一.项目加解密需求分析 二.Base64加密 三.MD5加密 四. s ...
- base64前端加解密方法
18.base64前端加解密方法 1.添加方法js方法 const Base64 = {//加密encode(str) {if (str===undefined || str === "&q ...
- angular和JAVA实现aes、rsa加密解密,前后端交互,前端加解密和后端JAVA加解密实现
今天实现了下AES和RSA加密解密,主要的功能是对前后端交互数据进行加密解密,为什么要用到两个算法呢,首先RSA默认的话加密长度是有限的100多个byte吧大约,并且需要公钥私钥,而AES加密没有限制 ...
- 【AES 算法】实现服务端 Java 加密,前端 JS 解密
目录 背景 AES CBC 加解密算法 代码实现 Java 生成 key 和 iv Java 加密 & 解密 JavaScript 解密 小结 背景 我们的游戏充值平台马上要到货一批充值码,需 ...
- 前端aes加密_前端安全攻防解析
知识点列表: CSRF 攻击 XSS攻击 HTTPS 程序员必须要了解的web安全 - 掘金 若愚:「每日一题」CSRF 是什么? [基本功] 前端安全系列之一:如何防止XSS攻击? [基本功] 前端 ...
- 【crypto】基于crypto.js的web前端加解密系统实现
文章目录 一.概念介绍 1.1 crypto.js介绍 1.2 加密 / 哈希 / 编码 1.2.1 加密/解密 1.2.2 散列/哈希 1.2.3 BASE64编解码 二.加解密思想(以md5为例) ...
最新文章
- hibernate延迟加载lazy的原理,以及为什么session关闭会报错
- 札记__ADT:URL,Lua:strlen方法
- 解决App启动时白屏的问题
- PHP特级课视频教程_第二十七集 Coreseek安装与测试_李强强
- B1.Java基础部分一
- 【C】揭秘rand()函数;
- 机器学习中树模型算法总结之 决策树(下)
- Executors 工具类,三大方法
- CC(Context Capture)软件安装及空三过程中的十大常见报错与解决方法
- Wpe工作原理和教程-以传奇为列
- 我能够入职世界顶尖的卡巴斯基,却被国内的安全公司拒之门外
- nssa和stub_华为stub、nssa区域配置
- python之二进制
- 写全武汉的火锅店..更新版 恩..欢迎补充 ^_^
- UPC 2020年夏混合个人训练第八十一场
- Win10 功能大全
- Vue3基础难点总结
- “青软杯”安徽科技学院第六届程序设计大赛_专业组
- 源代码静态检测分析技术浅析
- 作文未来的计算机医生300字,未来医生的好帮手作文300字