地址参数加密
㈠ 如何在URL中传递加密的参数
方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)加密参数在获取到值后解密就可以了function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null) return unescape(r[2]); //解密 else return null;} // 调用方法alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));alert(GetQueryString("参数名3")); 方法二:传统方法function UrlSearch() { var name,value; var str=location.href; //取得整个地址栏 var num=str.indexOf("?"); str=str.substr(num+1); //取得所有参数stringvar.substr(start [, length ] var arr=str.split("&"); //各个参数放到数组里 for(var i=0;i 0){ name=arr[i].substring(0,num); value=arr[i].substr(num+1); this[name]=value; } } } //调用var Request=new UrlSearch(); //实例化alert(Request.id);
㈡ js如何获取地址栏加密参数
方法一:采用正则表达式获取地址栏参数:(强烈推荐,既实用又方便!)加密参数在获取到值后解密就可以了
functionGetQueryString(name)
{
varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)");
varr=window.location.search.substr(1).match(reg);
if(r!=null)
returnunescape(r[2]);//解密
else
returnnull;
}
//调用方法
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
方法二:传统方法
functionUrlSearch(){
varname,value;
varstr=location.href;//取得整个地址栏
varnum=str.indexOf("?");
str=str.substr(num+1);//取得所有参数stringvar.substr(start[,length]
vararr=str.split("&");//各个参数放到数组里
for(vari=0;i<arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
//调用
varRequest=newUrlSearch();//实例化
alert(Request.id);
㈢ 我的url里面需要传递一个参数比如<a href="a.jspkk=<%=name%>" 怎么加密
加密JS:---------------------------------------------------------------------
function encrypt(str, pwd)
{
//判断密钥是否为空
if(pwd == null || pwd.length <= 0)
{
alert("请输入密钥");
return null;
}
//得到密钥的字符串的Unicode码
var prand = "";
for(var i=0; i<pwd.length; i++)
{
prand += pwd.charCodeAt(i).toString();
//alert(prand);
}
var sPos = Math.floor(prand.length / 5);//返回小于等于其数值参数的最大整数
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));//返回从字符串转换得到的整数. (charAt返回 String 对象的指定索引处的字符。)
var incr = Math.ceil(pwd.length / 2);//返回数的上限
var mo = Math.pow(2, 31) - 1;//返回基数表达式的指定次幂的值
if(mult < 2)
{
alert("您输入的密钥过于简单或者是长度太短");
return null;
}
var salt = Math.round(Math.random() * 1000000000) % 100000000; //Math.round是四舍五入函数。 Math.random是返回一个伪随机数(0到1之间的double型数)
prand += salt;
while(prand.length > 10)
{
prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString();
}
prand = (mult * prand + incr) % mo;
var enc_chr = "";
var enc_str = "";
for(var i=0; i<str.length; i++)
{
enc_chr = parseInt(str.charCodeAt(i) ^ Math.floor((prand / mo) * 255));
if(enc_chr < 16)
{
enc_str += "0" + enc_chr.toString(16);
}
else
enc_str += enc_chr.toString(16);
prand = (mult * prand + incr) % mo;
}
salt = salt.toString(16);
while(salt.length < 8)salt = "0" + salt;
enc_str += salt;
return enc_str;
}
解密JS:---------------------------------------------------------------------
function decrypt(str, pwd,stu)
{
if(str == null || str.length < 8)
{
alert("您输入的内容过短,请重新输入");
return;
}
if(pwd == null || pwd.length <= 0)
{
alert("请输入密钥");
return;
}
var prand = "";
for(var i=0; i<pwd.length; i++)
{
prand += pwd.charCodeAt(i).toString();
}
var sPos = Math.floor(prand.length / 5);
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));
var incr = Math.round(pwd.length / 2);
var mo = Math.pow(2, 31) - 1;
var salt = parseInt(str.substring(str.length - 8, str.length), 16);
str = str.substring(0, str.length - 8);
prand += salt;
while(prand.length > 10)
{
prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString();
}
prand = (mult * prand + incr) % mo;
var enc_chr = "";
var enc_str = "";
for(var i=0; i<str.length; i+=2)
{
enc_chr = parseInt(parseInt(str.substring(i, i+2), 16) ^ Math.floor((prand / mo) * 255));
//alert(enc_chr);
enc_str += String.fromCharCode(enc_chr);
//alert(enc_str);
prand = (mult * prand + incr) % mo;
}
return enc_str;
}
encrypt:加密方法。
str:你需要加密的字符串,pwd 密匙 返回的是一串加密的密文。
decrypt:解密方法。使用密匙+密文,得到原来解密的值
㈣ 网页url地址参数的加密一般用什么算法
这个不是md5加密 应该是自定义的一种加密方式
url用加密 主要是防止在传参的时候遇到中文 而出现乱码问题
url传参一般都是自定义的加密算法 因为这种加密可以破解 这样就知道
url所传的参数是什么 如果用md5的话 估计很难破解 基本上不可行
㈤ java 中 url地址栏里传的数字值,如何加密
现在很多加密算法的 比如你可以使用XXTea加密。前端使用post请求,请求之前将你要传的参数 组合成一个json格式,之后进行XXTea加密,加密完之后 将加密得到的字符串放到post 请求数据中。后台加一个拦截器,拿到你的请求地址以及加密字符串,然后将字符串解密 得到一个map,再通过request得到的ParamRequestWrapper 将解密后的参数放回去,这样你的方法就可以照常拿到数据了。
㈥ 如何加密url后的数字参数
加密参数是jsp参数传递中的一种安全措施,加密方法如下:
建议使用对称加密如:DES或者是PBE算法。
加密算法如下:
public static String encrypt(String key, String plainText) throws Exception {
String encryptTxt = "";
try {
byte[] salt = new byte[8];
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(key.getBytes());
byte[] digest = md.digest();
for (int i = 0; i < 8; i++) {
salt[i] = digest[i];
}
㈦ JAVA如何对URL进行加密和解密啊
一般我们都是通过在地址里,再加个验证密钥参数,来做安全验证,如果参数被改,把加密后的值跟验证密钥做对比就不一样,程序做下判断,拒绝访问就行。
第二种方法,真要加密,就找个可逆的加密算法(自己搜),把地址参数字符串加密后,到服务端获取到这串加密字符,解密后,再分解参数。