2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 使用AES加密进行前端加 解密

使用AES加密进行前端加 解密

时间:2023-11-30 12:39:39

相关推荐

使用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字符串转换成对象resultvar 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)Objectage: “23"name: “huangxiaojian"__proto__: Object

stringify()用于从一个对象解析出字符串

如:

var a = {a:1,b:2}结果:JSON.stringify(a)"{"a":1,"b":2}”

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。