1. 程式人生 > >url中的引數加密

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

當我們在下一個頁面開啟的時候是這樣的:
這裡寫圖片描述
這時候我們就需要解密了:
首先,我們應該擷取到位址列的資料,先寫一個公用的方法:

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);

這時候我們就能拿到引數值了。