url中的参数加密

有时候我们需要在地址栏传输一些信息,比如查询数据的时候,传一个参数location.href = "/admin/extract?name="+"参数aaa"’但是我们直接这样传输会有一些问题,我们通常会进行加密,下面介绍一个很简单的加密方式,先把文档地址放上crypto-js
我们首先在页面中引入js,<script type="text/javascript" src="/js/tools/crypto-js/crypto-js.js"></script>
比如,我们需要加密的参数为“参数aaa”我们就可以这样写:

var _adminNmae= CryptoJS.AES.encrypt(‘参数aaa’, configs.key),
location.href = "/admin/extract?name="+_adminNmae

1
2

当我们在下一个页面打开的时候是这样的:
这里写图片描述
这时候我们就需要解密了:
首先,我们应该截取到地址栏的数据,先写一个公用的方法:

var getQueryString = function(getUrl,name) {
var url = getUrl.substring(getUrl.indexOf("?"));
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = url.substring(1).match(reg);
if (r != null) return decodeURIComponent(r[2]);
return "";
};
我们用这个函数去获取值,然后第二步进行解密

1
2
3
4
5
6
7
8

var name=name = CryptoJS.AES.decrypt(getQueryString(window.location.href,"name"), configs.key).toString(CryptoJS.enc.Utf8);

1

这时候我们就能拿到参数值了。
————————————————
版权声明:本文为CSDN博主「su_xiao_0707」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qazwsx3322/article/details/70208597

原文地址:https://www.cnblogs.com/niudaxianren/p/11942570.html