本文目錄一覽:
URL內 參數加密解密
javascript對URL中的參數進行簡單加密處理
javascript的api本來就支持Base64,因此我們可以很方便的來進行編碼和解碼。
var encodeData = window.btoa(“name=xiaomingage=10”)//編碼
var decodeData = window.atob(encodeData)//解碼。
下面來個具體的例子來說明如何對url中參數進行轉碼,並取得解碼後的參數
假如要跳轉的url = “stu_info.html?name=xiaomingage=10”
轉碼:url = “stu_info.html?”+window.btoa(“name=xiaomingage=10”);
跳轉:window.open(url)或者window.locaton.href = url;
解碼:解碼時我們首先要從url中獲得參數列表,
我們可以通過var paramsString = window.location.search來獲取url中?號開始的內容(url的查詢部分)即”?name=xiaomingage=10″;
然後去掉?號 paramsString = paramsString.substring(1) //”name=xiaomingage=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))//解碼。
獲取url參數
//獲取url參數
function getQueryString(name) {
var reg = new RegExp(“(^|)” + name + “=([^]*)(|$)”, “i”);
var params = window.location.search.substr(1);
params = window.decodeURIComponent(window.atob(params));
var r = params.match(reg);
if (r != null) {
return decodeURI(r[2]);
}
return null;
}
php url參數加密
用這個加密:base64_encode ( string $data )
?php
$str = ‘This is an encoded string’;
echo base64_encode($str);
?
用這個解密:base64_decode ( string $data [, bool $strict= false ] )
?php
$str = ‘VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==’;
echo base64_decode($str);
?
PHP用URL傳參數,在解密就解不出來,在原來程序即加密又解密,就沒有問題,怎麼回事?
對url密文用decode進行
URL編碼
一下,接收時再用
urldecode
解碼下再解密,這樣做是為了避免被密文中的
特殊字元
影響
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/271512.html