本文目录一览:
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
解码下再解密,这样做是为了避免被密文中的
特殊字符
影响