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))//解碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM