URL加密解密

jsp中:
  <body>
  <p>测试北京电大首页输入参数中包含中文用户名的问题</p>
 
  <%
   String uri = request.getRequestURI();
   StringBuffer url = request.getRequestURL();
   String queryStr = request.getQueryString();
   String fullUrl = uri.toString() + "?" + queryStr;
   String decodeStr=java.net.URLDecoder.decode(fullUrl, "UTF-8");//这个就是按照utf-8格式解密的方法
    %>
   
    <div><%=url%></div><br>
    <p>输出:http://127.0.0.1:8000/test.jsp</p><br>
   <br><br>
    <div><%=uri%></div><br>
   <p>输出:/test.jsp</p><br>
   <br><br>
    <div><%=queryStr%></div><br>
   <p>输出:auth=yes&username=测试员111&onlines=1 </p><br>
   <br><br>
    <div><%=decodeStr%></div><br>
   <p>输出:http://127.0.0.1:8000/test.jsp?auth=yes&username=测试员111&onlines=1</p><br>
   <br><br>
 
 
  </body>

LoginAction中:if(loginForm.getUrl()!=null && loginForm.getUrl().length()!=0){
    String userName = user.getUsername();
    String encodeUserName =  java.net.URLEncoder.encode(userName,"UTF-8");
    response.sendRedirect(loginForm.getUrl()+"&username=" + encodeUserName + "&onlines=" + onlines);
   }else{
    response.sendRedirect("welcome.do");
   }

 

java.net.URLEncoder
java.net.URLDecoder


java.net.URLEncoder和java.net.URLDecoder的使用2008-12-05 09:29import java.io.UnsupportedEncodingException;

public class TestCode {
public static void main(String[] args) {
   String str="你好吗";
   try {
    //将 String 转换为 application/x-www-form-urlencoded MIME 格式
    //使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式。
    String codestr=java.net.URLEncoder.encode(str,"UTF-8");
    System.out.println("codestr:"+codestr);
  
    // 使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。
    String decodeStr=java.net.URLDecoder.decode(codestr, "UTF-8");
    System.out.println("decodestr:"+decodeStr);
  
    str="你小子好嚣张呀?";
    codestr=java.net.URLEncoder.encode(str,"gbk");
    System.out.println("codestr:"+codestr);
    decodeStr=java.net.URLDecoder.decode(codestr, "gbk");
    System.out.println("decodestr:"+decodeStr);
  
    str="你小子好帅呀!";
    codestr=java.net.URLEncoder.encode(str,"gb2312");
    System.out.println("codestr:"+codestr);
    decodeStr=java.net.URLDecoder.decode(codestr, "gb2312");
    System.out.println("decodestr:"+decodeStr);
  
    str="Go,go,快点,车马上要走了!";
    codestr=java.net.URLEncoder.encode(str,"gb18030");
    System.out.println("codestr:"+codestr);
    decodeStr=java.net.URLDecoder.decode(codestr, "gb18030");
    System.out.println("decodestr:"+decodeStr);
  
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }
}
}

 


import java.net.URLEncoder;
import java.net.URLDecoder;
import java.io.*;

public class URL
{
public static void main(String args[])
{
try{
String enCode = URLEncoder.encode("http://www.ioby.net/default.jsp?name=哈哈", "UTF-8");
System.out.println(enCode);
String deCode = URLDecoder.decode(enCode, "UTF-8");
System.out.println(deCode);
}
catch(UnsupportedEncodingException e)
{

}
}
}


---------------


    /**
   * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名
   *
   * @param s 原文件名
   * @return 重新编码后的文件名
   */
public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = String.valueOf(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0)
k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
 

=======================================================================
1.加密。

  Response.Redirect("DetailInfo.aspx?id=" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("sp10006")).Replace("+","%2B"));

  2.解密。

  string ID = System.Text.Encoding.Default.GetString(Convert.FromBase64String(Request.QueryString["id"].ToString().Replace("%2B","+")));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值