有时候我们需要在地址栏传输一些信息,比如查询数据的时候,传一个参数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
当我们在下一个页面打开的时候是这样的:
这时候我们就需要解密了:
首先,我们应该截取到地址栏的数据,先写一个公用的方法:
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 "";
};
我们用这个函数去获取值,然后第二步进行解密
var name=name = CryptoJS.AES.decrypt(getQueryString(window.location.href,"name"), configs.key).toString(CryptoJS.enc.Utf8);
这时候我们就能拿到参数值了。