1. 程式人生 > >javascript對URL中的引數進行簡單加密處理

javascript對URL中的引數進行簡單加密處理

javascript對URL中的引數進行簡單加密處理

javascript的api本來就支援Base64,因此我們可以很方便的來進行編碼和解碼。

var encodeData = window.btoa("name=xiaoming&age=10")//編碼

var decodeData = window.atob(encodeData)//解碼。

下面來個具體的例子來說明如何對url中引數進行轉碼,並取得解碼後的引數

假如要跳轉的url = "stu_info.html?name=xiaoming&age=10"

轉碼:url = "stu_info.html?"+window.btoa("name=xiaoming&age=10");

跳轉:window.open(url)或者window.locaton.href = url;

解碼:解碼時我們首先要從url中獲得引數列表,

我們可以通過var paramsString = window.location.search來獲取url中?號開始的內容(url的查詢部分)即"?name=xiaoming&age=10";

然後去掉?號 paramsString  = paramsString.substring(1) //"name=xiaoming&age=10"

去掉& paramsString  = paramsString.split("&");//["name=xiaoming","age=10"]

 

需要指出的是 window.btoa這中編碼方式不能直接作用於Unicode字串。只能將ascci字串或二進位制資料轉換成Base64編碼過的字串。如果要對Unicode字元進行編碼可以將做如下轉換。

var encodeData = window.btoa(window.encodeURIComponent("name=小明&age=10"))//編碼

var decodeData = window.decodeURIComponent(window.atob(encodeData))//解碼。