url中的引數加密
阿新 • • 發佈:2019-02-07
有時候我們需要在位址列傳輸一些資訊,比如查詢資料的時候,傳一個引數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);
這時候我們就能拿到引數值了。