1. 怎么给URL加密
你可以设置跳转啊!也就是满足什么条件到什么页面!一个switch()语句及可以了!URL加密!鄙人没有听说过!但是传输一些特殊字符的时候可以URLENCODE()一下!
2. URL加密方式
http://www..com/fije.htm
3. url加密问题,比如对url参数id进行加密 - 技术问答
这个不一定,可能是自己的加密方法,当然一般可以用base64。
4. URL请求对参数前端JS加密,后台JAVA解密
数字的话可以使用 Base62 算法,不过这只是表面的转换,因为算法是写在Js里的,稍加分析就能知道怎么去翻转。
如果要有效加密的话,可以使用js调用RSA算法进行加密,这样js中只会暴露公钥,可以实现安全的加密。
网上多得很。
5. url 地址栏如何加密
你这个不是加密,只是编码,你里面的%BC就是ASCII码为十六进制BC的符号,许多语音都有这样的函数,不知道你是用什么语言写程序, 你查一下你的语言手册就知道。
6. url 加密
是在网页代码上下手吧.
7. url参数加密
加密URL参数
插件在访问 Web 程序时,可以使用 Get 方法或 Post 方法提交数据,无论是哪种方法,按照 HTTP 协议的规范,参数总是按照以下格式提交(每对参数名/参数值以“&”号分隔):
参数名1=参数值1&参数名2=参数值2&参数名3=参数值3...
如果您没有使用SSL,所有的参数名和参数值都将以明文的形式通过网络传输到 Web 服务器,显然这种方式是很不安全的,为了保证插件与Web 程序的通讯安全,插件在提交参数前可以对每个参数值使用 Rijndael 加密算法进行加密处理,并使用 Base64 编码转换为可读字符串形式。
Rijndael 加密算法是一种高效的对称加密算法,它是 AES(Advanced Encryption Standard,高级加密算法标准)的实现,在加密和解密时有两个基本参数:初始向量和密钥,Web程序在进行解密时必须使用和插件端设置相同的初始向量和密钥。
下面分别列出了加密和不加密的例子各一个:
a. 不加密:Username=test&Password=123456&ClientIP=192.168.0.200&CurrentTime=2005-07-06+23%3a51%3a29
b. 加密:Username=ZtlBwgvwkS5YV98N9cgO%2fw%3d%3d&Password=vBSchK4dJX7Z2zfUatu9ZQ%3d%3d&CurrentTime=mpNifqRIvBV2xZi3d%2fPli6%2bZwR9BKHs4y6t%2bNS2QIr4%3d
在 Web 程序端必须使用相同的算法来解密各个参数值,具体如何实现取决与您所使用的 Web 程序语言,这就需要您找到特定语言的算法实现。解密一个参数值的过程包括下面三个步骤:
1. 使用 Base64 算法将参数值转换为字节数组;
2. 使用 Rijndael 算法将 1 中得到的字节数组解密得到另一字节数组;
3. 将 2 中得到字节数组用特定的字符集转换成字符串,即得到原始的数据。
插件安装目录下的“GVODClassLib.dll”文件包含了加密和解密的算法实现类 CryptoUtility,它的 Decrypt 方法可以直接将 Base64 编码后的密文解密为原文字符串,如果您的 Web 程序使用的是 asp.net 编写的,可以将该文件拷贝到您 Web 站点的“/bin”目录下,然后按照下面的例子完成解密:
<%@ page language="C#" %>
<%@ import namespace="Com.GVOD" %>
<%
//定义密钥,请改成你加密时使用的密钥
string key = "OEtxF/yyALd2NflVW4KSMspQIozPkSRL+mEdvlBAzUQ=";
//定义初始向量,请改成你加密时使用的初始向量
string iv = "Cz3EXGTEMeIN8PXKFLiZWg==";
//定义密钥长度,请改成你加密时使用的密钥的长度
int keyLength = 256;
//生成 CryptoUtility 类的实例
CryptoUtility util = new CryptoUtility(key, iv, keyLength);
//解密用户名
string username = util.Decrypt(Request["Username"]);
//解密密码
string password = util.Decrypt(Request["Password"]);
//解密其它参数
...
%>
8. url地址加密后,如何实现跳转
*你可以模仿www.phpe.net上面的那个友情链接来做啊。*/ 可以将链接保存在数据库中,地址中直接跟url保存的id,然后读出来再用header()跳转就好了。 若用BASE64来做,不要将url和那个"="都加密了,用 http://www.a.com/redir.php?url=加密后的串。接收倒$_GET['url']后解码,也用header(),跳转过去就可以了。 1. http://www.a.com/redir.php?urlid=id. 取数据库或者其他存储办法。 $sql = "select urlstr from url where id = '".$_GET['id']."'"; 查到结果: header("Location:" . 查出来的结果)。 2. http://www.a.com/redir.php?url=加密后的URL 接收, $url = $_GET['url']. header("Location:" . base64_decode($url)); 希望可以有所帮助。 既然说了数据有几十W条,那么应该入库了吧? 那么采用第一种方法要方便点。
9. ajax请求的URL可以加密吗
可以加密,而且对伊一些敏感度搞的项目更要加设置加密:
首先是密钥交换的过程,Diffie-Hellman密钥交换算法参考维基网络的文档:http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange ,client端js语言,服务端php语言 用DH密钥交换算法交换密钥。
js部分:
varg="2";
varp="28303789813787064911279666129";
functiondoStaff(){
varbig_a=randBigInt(100);
varbig_p=str2bigInt(p,10,0);
varbig_g=str2bigInt(g,10,0);
varA=powMod(big_g,big_a,big_p);
varstr_A=bigInt2str(A,10);
varB;
varsecret;
$.ajax({
url:'server.php',
type:'GET',
async:false,
data:{"A":str_A},
cache:false,
timeout:5*1000,
dataType:'json',
success:function(data,status,xhr){
B=str2bigInt(data.B,10,0);
},
error:function(){
alert(2);
}
});
secret=powMod(B,big_a,big_p);
secret=bigInt2str(secret,10);
注明:上边的代码中,最后的到的secret,就是最终和服务端协商一致的密钥(这是一个很多位数字的字符串,我们的密钥使用16字节,那么我们可以考虑对它md5,作为对称加密的密钥)。
上述代码中bigint相关的js,直接使用的一个开源的bigint.js(js代码有不开源的吗?^_^)。
php部分:
<?php
$g="2";
$p="28303789813787064911279666129";
$b="86410430023";//TODO:.
$A=$_REQUEST['A'];
$B=bcpowmod($g,$b,$p);
$secret=bcpowmod($A,$b,$p);
echo'{"B":"'.$B.'"}';
可见我们采用固定的g和p,这2个变量是公开的,不怕泄漏。
js端首先生成一个100bit长的整数a,并依据公式计算出A, 用ajax的形式发送到服务端php。 服务端收到A,自己生成变量b,依据公式计算出B,响应给客户端js。
此时,服务端和客户端分别可以依据公式计算出一个相同的secret。 这个secret没有在网络中传输过,双方可说是“心照不宣”,且双方自己选定的a和b是保密的,第三方无法根据公开传输的数据推算出a,b,当然也无法得到secret。 这就是DH算法的原理。