url中的参数加密

来源:互联网 发布:linux设置定时重启 编辑:程序博客网 时间:2024/05/16 08:18

有时候我们需要在地址栏传输一些信息,比如查询数据的时候,传一个参数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);

这时候我们就能拿到参数值了。

1 0