‘壹’ asp如何对地址栏链接加密
用md5加密。定义一个变量,然后把你需要加密的值通过md5加密后赋给那个变量。传递那个变量,然后再第二个页面判断的时候,把他也用md5加密算法换算过来,然后再做对比。举一个实例给你。<a href="hotel.asp?id=<%=rs("id")%>">中国大酒店</a> /* 这是正常的写法,没有加密,那么在查看源代码的时候可能就是<a href="hotel.asp?id=2">中国大酒店</a> */现在你要的是不想让人知道你传递的id=2。那么就要加密id。实现办法。<%dim ididt=md5(rs("id"))%><a href="hotel.asp?id=idt">中国大酒店</a>然后再第二个页面,sql语句里判断时,where md5(字断名)=request("id") 希望对你有帮助,
‘贰’ 浏览器地址栏前面有个锁的符号是什么意思
主要有以下两种意思:
1、使用专线进行传输,防止信息被其它网站或个人去攻破截取重要的信息。
2、在传输开始前对传输的信息进行加密,防止信息被利用、被诈骗利用。
对于使用专线进行传输,这有高级别领导和军事机构才有这样的专线来使用。
加密信息,在信息传输开始前就对传输的信息进行加密,然后接收到的人对其进行解密。这样即使在传输的过程中信息被不法份子截获了也没有关系。因为只有接收的服务器设备才有秘钥可以把其信息解密。
(2)加密地址栏扩展阅读:
1、在浏览网页时,尽量选择合法网站。互联网上的各种网站数以亿计,网页的内容五花八门,绝大部分内容是健康的,但许多非法网站为达到其自身的目的,不择手段,利用人们好奇、歪曲的心理,放置一些不健康、甚至是反动的内容。
2、不要浏览色情网站。大多数的国家都把色情网站列为非法网站,在我国则更是扫黄打非的对象,浏览色情网站,会给身心健康造成伤害,长此以往还会导致走向性犯罪的道路。
3、浏览BBS等虚拟社区时,有些人喜欢在网上发表言论,有的人喜欢发表一些带有攻击性的言论,或者反动、迷信的内容。有的人是好奇,有的人是在网上打抱不平,这些容易造成IP地址泄露,受到他人的攻击,更主要的是稍不注意会触犯法律。
‘叁’ java 中 url地址栏里传的数字值,如何加密
现在很多加密算法的 比如你可以使用XXTea加密。前端使用post请求,请求之前将你要传的参数 组合成一个json格式,之后进行XXTea加密,加密完之后 将加密得到的字符串放到post 请求数据中。后台加一个拦截器,拿到你的请求地址以及加密字符串,然后将字符串解密 得到一个map,再通过request得到的ParamRequestWrapper 将解密后的参数放回去,这样你的方法就可以照常拿到数据了。
‘肆’ 地址栏传值加密
在传递的时候 将ID加密 获取时候 解密
使用 DES .
如:
/// <summary>
/// 加密。注意:sKey输入密码的时候,必须使用英文字符,区分大小写,且字符数量是8个,不能多也不能少,否则出错。
/// </summary>
public static string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中
//原来使用的UTF8编码,我改成Unicode编码了,不行
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);
//建立加密对象的密钥和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得输入密码必须输入英文文本
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write);
//Write the byte array into the crypto stream
//(It will end up in the memory stream)
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the data back from the memory stream, and into a string
StringBuilder ret = new StringBuilder();
foreach(byte b in ms.ToArray())
{
//Format as hex
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
/// <summary>
/// 解密。
/// </summary>
public static string Decrypt(string pToDecrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//Put the input string into the byte array
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for(int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//建立加密对象的密钥和偏移量,此值重要,不能修改
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write);
//Flush the data through the crypto stream into the memory stream
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the decrypted data back from the memory stream
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
‘伍’ 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地址栏传参的信息进行加密或
对其中敏感的关建值进行加密就可以了,没必要全部加密,那样会影响效率。具体关键值的加密方法很多了,随便找一个就行。希望能帮到你。
‘柒’ java地址栏加密
软件开发中,当在不同页面之间传递参数时,为了系统的安全,常将地址栏中的信息加密处理,由于是通过表单传递数据,因此我们不能用Java代码对其加密,只能通过js函数对数据信息加密,下面是我在网上找的js的加密代码(采用base64加密方式):<script type="text/javascript"><!--var keyStr = "ABCDEFGHIJKLMNOP" +
"QRSTUVWXYZabcdef" +
"ghijklmnopqrstuv" +
"wxyz0123456789+/" +
"=";//加密函数function encode64(input) {
input = escape(input);//注意escape()函数
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}output = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);return output;
}//解密函数function decode64(input) {
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;output = output + String.fromCharCode(chr1);if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";} while (i < input.length);return unescape(output);//注意unescape()函数
}
//--></script>当我们采用encode64(input)函数对数据加密之后,当要在Java代码中对数据解密时,我们不能调用js的decoder(input)函数,必须使用Java语言编写的函数。apache公司提供的commons-codec-1.3.jar类库中的org.apache.commons.codec.binary.Base64包提供了encodeBase64(byte[] bts)和decodeBase64(byte[] bts)方法实现了数据的Base64()加密,但与上面的js代码的加密和解密函数并不一一对应,为例实现用js代码加密,用java函数解密,我们必须调用另外一个java函数,unescape(String src),其代码如下:private static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}与js代码中的unescape() 函数对应,才能正确的对数据信息解密,解密方法为:public static String decode64(String encode){
//调用org.apache.commons.codec.binary.Base64包,在commons-codec-1.3.jar中
Base64 base64 = new Base64();
byte[] byteOfEncode = encode.getBytes();
byte[] byteOfDecode = Base64.decodeBase64(byteOfEncode);//调用decodeBase64方法
String decode = new String(byteOfDecode);
return unescape(decode);//调用unescape(String src)方法
}附:在网上找到的java编写的escape()方法:public class EscapeUnescape {
public static String escape(String src) {
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j)
|| Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
‘捌’ Jsp加密地址栏
使用java.net.URLEncoder.encode(String url,String cedename);
对url进行编码
‘玖’ url 地址栏如何加密
你这个不是加密,只是编码,你里面的%BC就是ASCII码为十六进制BC的符号,许多语音都有这样的函数,不知道你是用什么语言写程序, 你查一下你的语言手册就知道。
‘拾’ ASP地址栏的加密方法
MD5加密是不可逆的 也就是你加密后是还原不了原先的字符的. 你可以考虑有别的加密算法. 或者直接用Session来传递参数