Apache commons-codec包的基本使用

commons-codec是Apache开源组织提供的用于摘要运算、编码的包。以下是Base64编解码、MD5加密和URLCodec编解码的基本操作。

Base64

Base64是可解码的,通常用于把二进制数据编码为可写的字符形式的数据。

public void testBase64(){
        System.out.println("==========Base64==========");
        //假设密码为123456abc+
        byte[] passwd = "123456abc+".getBytes();
        Base64 base64 = new Base64();
        //加密
        String enPasswd = base64.encodeAsString(passwd);
        System.out.println("加密后:" + enPasswd);
        //解密
        String dePasswd = new String(base64.decode(enPasswd));
        System.out.println("解密后:" + dePasswd);
    }
输出:
==========Base64==========
加密后:MTIzNDU2YWJjKw==
解密后:123456abc+

MD5

MD5是一种不可逆的加密技术,不过据说现在MD5也不怎么安全了,具体可以google以下MD5碰撞。

另外,在DigestUtils这个类下还有其他各种算法,例如SHA1等。

public void testMD5(){
        System.out.println("==========MD5==========");
        String enPasswd = DigestUtils.md5Hex("123456abc+");
        System.out.println("加密后:" + enPasswd);
    }
输出:
==========MD5==========
加密后:ce356c9af7dc5afbc8b22685edade098

URLCodec

URLCodec可以对url中的参数进行编码。

public void testURLCodec(){
        System.out.println("==========URLCodec==========");
        URLCodec urlCodec = new URLCodec();
        String data = "陈某某abc+";
        try {
            String encode = urlCodec.encode(data, "UTF-8");
            System.out.println("加密后:" + encode);
            String decode = urlCodec.decode(encode, "UTF-8");
            System.out.println("解密后:" + decode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
输出:
==========URLCodec==========
加密后:%E9%99%88%E6%9F%90%E6%9F%90+abc%2B
解密后:陈某某 abc+

你可能感兴趣的:(Java基础)