`

URL的编码和解码

    博客分类:
  • Java
阅读更多
首先,要对URL进行编码和解码,需要导入Commons codec的jar包。
这是Commons项目中用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64,URL,Soundx等等。
1.Pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>EncryptUrl</groupId>
    <artifactId>EncryptUrl</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--Commons-codec-->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.6</version>
        </dependency>
    </dependencies>

</project>
 2.Java代码
import org.apache.commons.codec.binary  .Base64;

import java.io.UnsupportedEncodingException;

/**
 * Created with IntelliJ IDEA..
 * User: Leon
 * Date: 14-2-17
 * Time: 上午10:18
 * To change this template use File | Settings | File Templates.
 */
public class EncryptUrl {
    public static final String ENCODING = "UTF-8";
    public static String close(String url){

        byte[] b;
        String close = null;
        try {
            b = Base64.encodeBase64URLSafe(url.getBytes(ENCODING));
            close = new String(b, ENCODING);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return close;
    }

    public static String open(String close){

        byte[] b;
        String open = null;
        try {
            b = Base64.decodeBase64(close.getBytes(ENCODING));
            open = new String(b,ENCODING);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return open;

    }

    public static void main(String[] args) {

        String msg = "http://www.baidu.com";
        System.out.println("加密前:"+msg);
        String close = close(msg);
        System.out.println("加密后:"+close);
        String open = open(close);
        System.out.println("解密后;"+open);
        System.out.println(open("YXBpL3YyL2dvb2RzL2JyYW5kX2xpc3Q_YnJhbmRfaWQ9MzAy"));

        open = open("YXBpL3YyL2dvb2RzL2JyYW5kX2xpc3Q_YnJhbmRfaWQ9MzAy");
        for(int i=0; i<4; i++){
            System.out.println(i+"---"+open);
            open = open(open);
        }

        System.out.println(close("example00/v2/goods/brand_list?brand_id=302"));


        System.out.println(close("example00/v2/goods/brand_list?brand_id=302&page=1"));

        open = "YXBpL3YxL2dvb2RzL2NhdGVnb3J5X3BhcmVudF9saXN0P2NoaWxkX2lkPTM1";
        open = "YXBpL3YyL2dvb2RzL2JyYW5kX2xpc3Q_YnJhbmRfaWQ9MzA2";
        System.out.println("--"+open(open));

    }
}
 
分享到:
评论

相关推荐

    C++URL编码和解码

    C++作为一门强大的系统级编程语言,虽然没有内置的URL编码和解码函数,但开发者可以借助标准库和第三方库来实现这些功能。本文将深入探讨C++中如何进行URL编码和解码。 URL(Uniform Resource Locator)是互联网上...

    url编码和解码的jar的源文件

    在这个"commons-codec-1.4-src.tar"压缩包中,包含了用于URL编码和解码的源代码,这对于我们理解URL编码的工作原理以及如何在Java应用程序中实现这些功能非常有帮助。 URL(统一资源定位符)编码是将URL中的特殊...

    asp自定义函数:URL编码和解码

    URL编码是将特殊字符转换为ASCII码的百分比表示形式,避免在URL中引起解析问题,而URL解码则是将这些编码恢复成原始字符。 URL编码,也称为percent-encoding,是统一资源定位符(URL)的一部分,根据RFC 3986标准...

    vb url编码解码vb url编码解码vb url编码解码

    标题和描述中提到的“vb url编码解码”是指在Visual Basic(VB)环境中进行URL编码和解码的过程。URL编码,也称为百分号编码,是一种用于将特殊字符转换为适用于URL格式的编码方式,目的是确保这些特殊字符能够正确...

    C++类URL编码和解码使用技巧

    在C++编程中,URL编码和解码是处理网络数据传输时常见的操作。URL(统一资源定位符)编码主要用于确保特殊字符(如空格、引号等)在URL中能够被正确地解析和传递。这是因为某些字符在URL中具有特殊含义,如冒号用于...

    python3的url编码和解码,自定义gbk、utf-8的例子

    在Python编程语言中,URL编码和解码是处理网络请求时常见的操作,特别是在处理包含非ASCII字符的URL时。在Python 3中,这个过程主要通过`urllib.parse`模块来实现。本篇文章将深入探讨如何使用Python 3进行URL编码和...

    URL编码解码免费小工具

    "URL编码解码免费小工具"是一种实用的应用程序,它简化了手动编码和解码的过程。该工具可能具有以下功能: 1. 输入框:用户可以在此输入需要编码或解码的字符串。 2. 操作选择:提供“编码”和“解码”两个选项供...

    url编码解码源代码

    本话题将详细探讨“url编码解码源代码”,以及如何在CGI(Common Gateway Interface)环境中处理这些编码。 首先,让我们理解URL编码的基本原理。在URL中,某些字符具有特殊含义,如空格通常代表路径分隔,而问号...

    urlcode解码-HTTP:URL编码解码

    在实际开发中,了解并正确使用URL编码和解码不仅能保证数据的完整性和安全性,还能防止URL重定向和路由处理中的问题。因此,掌握这个基本概念对于任何从事Web开发的人员都是至关重要的。 最后,我们注意到压缩包中...

    url编码与解码

    - 虽然C++标准库没有直接提供URL编码和解码的函数,但可以使用第三方库,如`Poco::URI`库,它提供了方便的API来处理URL编码和解码。 7. **安全性和编码规范** - 在编码URL时,要注意遵守RFC 3986规范,确保正确...

    一个简单url编码解码

    这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或特殊字符的ASCII十六进制值。例如,...

    纯Javascript脚本实现GBK URL编解码

    总结来说,纯JavaScript实现GBK URL编解码涉及到的关键技术点包括GBK编码和解码、URL编码和解码,以及可能的Base64编码和解码。实际实现时,可能需要结合第三方库或自定义函数来处理GBK编码,同时充分利用JavaScript...

    UrlEncodeDecode解码编码工具(双向)

    本工具旨在提供一个方便、高效的解决方案,支持URL编码和解码的双向操作。 URL编码,也称为Percent-encoding,是URI(统一资源标识符)的一部分,用于在不安全或非ASCII字符出现在URL中时进行转换。这是因为URL格式...

    UrlEncodeUrlDecodeUrl解码Url编码工具

    通过查看和学习这个工具的实现,我们可以深入理解URL编码解码的原理,并且可能从中学习到如何在自己的项目中集成类似的功能。对于学习Web开发的人来说,这将是一个很好的实践案例,有助于理解和解决实际开发中遇到的...

    vc URL编解码类

    在VC++环境下,我们可以使用特定的类来实现URL编码和解码的功能。 "vc URL编解码类"是指在VC++环境中开发的一组工具,用于对URL进行编码和解码操作。这个类可能是由开发者从网上收集的代码片段整理而成,方便直接在...

    Encode_ Decode Tools URL编码解码工具

    `Encode_ Decode Tools`是一款用于URL编码和解码的工具,它可以帮助开发者和用户方便地处理这些编码问题。这款工具可能提供了简单的用户界面,允许用户输入URL或字符串,然后点击按钮进行编码或解码操作。它支持对...

    易语言源码URL网址编解码.rar

    这些文件为我们提供了关于URL编码和解码的易语言实现方法。 URL(统一资源定位符)是互联网上的资源地址,但由于URL中可能包含特殊字符,这些字符在传输过程中可能会引起问题,因此需要进行编码。常见的比如空格被...

    jsp页面url编码_springmvc_controller解码

    总结来说,JSP页面和Spring MVC Controller之间的交互涉及URL编码和解码,Spring MVC框架提供了自动解码功能,同时也可以使用`java.net.URLDecoder`进行手动解码。而`Reflections.java`可能涉及到的是Java的反射机制...

    易语言源码快车URL编解码工具.rar

    总之,"易语言源码快车URL编解码工具"是一个实用的编程示例,它涵盖了URL编码和解码的基本原理,同时也展示了易语言的编程特性。通过研究和实践这个工具,开发者不仅可以提升易语言的编程技巧,还能加深对网络通信中...

Global site tag (gtag.js) - Google Analytics