Java实现浏览器链接地址的中文加密和解密

                                                                                                Java实现浏览器链接地址的中文加密和解密

一:在好些的网站上进行相关的中文搜索的时候,发现点击搜索后留意了链接中的中文的变化,全部变成了加密后的字符串了.那么问题来了,java怎么实现这样的漂亮的加密的字符串了?

     1.1案例展示--->来看51job上的例如搜索前端工程师:

     Java实现浏览器链接地址的中文加密和解密_第1张图片

      1.2:原理分析--->简单分析 %25+16进制的,这个就想到了java中net包下的URLEncoder(加密),URLDecoder(解密),

           urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%      
  但是前面还有一个25那?这个怎么实现,就是二次加密了。 
  

    1.3:源码展示--->

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/**
* Title:UrlEncode  
* Description:  
* @date 2017年9月19日
* %25E8%25AE%25BE的解码:设
  -----------------
    设的编码为:%25E8%25AE%25BE
* 
 */
public class UrlEncode {
   public static void main(String[] args) {
	//两次解密就可以了
try {
	String str=URLDecoder.decode("%25E8%25AE%25BE","UTF-8");
	//二次解码
	System.out.println("%25E8%25AE%25BE的解码:"+(URLDecoder.decode(str,"UTF-8")));
	System.out.println("-----------------");
    String str1=URLEncoder.encode("设","UTF-8");
    //二次编码
    System.out.println("设的编码为:"+(URLEncoder.encode(str1,"UTF-8")));
} catch (UnsupportedEncodingException e) {
	e.printStackTrace();
} 
}
}

运行结果展示:
 %25E8%25AE%25BE的解码:设
-----------------
设的编码为:%25E8%25AE%25BE
        1.4:至此Java实现浏览器的地址中文的编码和解密就可以完成了.


你可能感兴趣的:(Java学习)