当前位置:首页 » 密码管理 » url加密函数

url加密函数

发布时间: 2023-09-22 01:21:45

‘壹’ 如何将url加密 js加密 c#解密

js(加密):
str=encodeURI(str)
C#(解密):
HttpUtility.UrlDecode(str)

‘贰’ 如何设置url加密

你好,url加密可用java.net.URLEncoder.encode{Base64编码(加密字串),StringCode}这样的方法来对url中的参数进行加密。
我们来说下如何加密
一、算法的选择:
对于像对url中的参数进行加密的过程,我不建议使用rea或者是二重des这样的加密算法,主要原因在于性能速度会受影响。建议使用对称加密如:DES或者是PES算法。
二、加密原理
对于一个纯文本,加密后它会变成一堆乱码,这堆乱码包括了许多非法字符,不希望把这些字符放入bean中,因此加密完后,还要对加密结果进行besa64编码。
加密过程:输入口令{KEY}-->加密文本-->以besa64对加密后的结果进行编码-->以java.net.URLEncoder.encode编码成浏览器可以识别的形式-->传输给接受的action

‘叁’ 我的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:解密方法。使用密匙+密文,得到原来解密的值

‘肆’ 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 = '==';
echo base64_decode($str);
?>

‘伍’ 百度的url是怎么加密的

php有mcrypt库,但是本人用下来很烂,加密在解密字符串会多出很多原来没有的字符,而且总是乱码,差不多只有sha1是比较好用的
用哈希加密非常简单
Location('music.php?url='.sha1($_GET['url']));
但是相比php,javascript的加密技术就更厉害了,我有sha1,md5和blowfish的三种加密函数,这些都是比较常用的算法!

热点内容
php函数参数的传递参数 发布:2024-11-30 14:32:00 浏览:504
安卓手机怎么联系汽车 发布:2024-11-30 14:12:00 浏览:648
python代码性能 发布:2024-11-30 14:11:57 浏览:678
php变量是否存在 发布:2024-11-30 13:53:00 浏览:954
数组下标过大编译错误吗 发布:2024-11-30 13:52:51 浏览:639
检测5g信号密码是多少 发布:2024-11-30 13:52:51 浏览:258
c语言实现复数运算 发布:2024-11-30 13:30:17 浏览:768
安卓手机要怎么下载突击队ol 发布:2024-11-30 13:03:42 浏览:637
修改密码sql语句 发布:2024-11-30 12:54:54 浏览:156
搭建手游用什么服务器 发布:2024-11-30 12:54:09 浏览:171