vue前后端aes url传参解密再解base64编码
需求:我们公司做机票订购服务,有自己的平台的订单,也有第三方网站向我们网站导入的用户订单,第三方导入的是通过url传参的方式导入。url会携带用户的相关信息。url里面的参数是经过aes加密和base64编码的,因此要取出里面的数据是要解密和解码的。方案:第一步:安装要依赖的js, npm install --save_dev crypto-js 然后在组件中将其引入。...
·
需求:我们公司做机票订购服务,有自己的平台的订单,也有第三方网站向我们网站导入的用户订单,第三方导入的是通过url传参的方式导入。url会携带用户的相关信息。
url里面的参数是经过aes加密和base64编码的,因此要取出里面的数据是要解密和解码的。
方案:
第一步:
安装要依赖的js, npm install --save_dev crypto-js 然后在组件中将其引入。
代码:
import CryptoJS from 'crypto-js'
截图
:
第二步:
安装要依赖的js
获取url中要取的参数,因为是url传参,所以我们要在初始化create时进行取值,
代码:
var ddl = this.$route.query.channel
var word = this.$route.query.info;
截图:
第三步:
写相应的业务js代码
获取url中要取的参数,因为是url传参,所以我们要在初始化create时进行取值,
代码:
result就是最终解码后的参数。注意:asdfghjklzxcvbnm是后端给的密钥。
/*解密*/
function decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("asdfghjklzxcvbnm");
var restoreBase64 = word.replace(/\-/g, '+').replace(/_/g, '/');
// 这里 mode, padding, iv 一定要跟加密的时候完全一样
// 返回的是一个解密后的对象
var decipher = CryptoJS.AES.decrypt(restoreBase64, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
iv: '',
});
// 将解密对象转换成 UTF8 的字符串
var resultDecipher = CryptoJS.enc.Utf8.stringify(decipher);
// 返回解密结果
return resultDecipher;
}
var result = decrypt(word);
截图:
更多推荐
已为社区贡献27条内容
所有评论(0)