铁马冰河2000

导航

Java加解密-Base64算法

base64算法是基于64个字符的一种替换算法。

base64加密的产生式电子邮件的“历史问题”——邮件只能传输ASCII码。

base64加密的应用场景:email、密钥、证书文件。

该算法可以由3种方式实现:JDK、Bouncy Castle、Commons Codec。

============================================================================Base64加解密工具类:

import org.apache.commons.codec.binary.Base64;

public class SecurityBASE64 {
    
    /**
     * base64算法是基于64个字符的一种替换算法。base64加密的产生式电子邮件的“历史问题”——邮件只能传输ASCII码。
     * base64加密的应用场景:email、密钥、证书文件。
     *  该算法可以由2种方式实现:Bouncy Castle、Commons Codec
     */
    
    /** 
     * Commons Codec实现base64编码 
     */
    public static String encodeCC(String src) {
        byte[] encode = Base64.encodeBase64(src.getBytes());
        return new String(encode);
    }
    public static String decodeCC(String src) {
        byte[] decode = Base64.decodeBase64(src);
        return new String(decode);
    }
    
    /**
     * Bouncy Castle实现base64编码 
     */
    public static String encodeBC(String src) {
        byte[] encode = org.bouncycastle.util.encoders.Base64.encode(src.getBytes());
        return new String(encode);
    }
    public static String decodeBC(String src) {
        byte[] decode = org.bouncycastle.util.encoders.Base64.decode(src);
        return new String(decode);
    }
}

============================================================================Base64加解密工具测试类:

    /**
     * BASE64加密和解密
     */
    @Test
    public void test_base64() {
        String inStr = "面向对象编程,object-oriented!@#*5";
        String encodeCC = SecurityBASE64.encodeCC(inStr);
        System.out.println("Commons Codec实现base64编码:\t" + encodeCC);
        String decodeCC = SecurityBASE64.decodeCC(encodeCC);
        System.out.println("Commons Codec实现base64解码:\t" + decodeCC);
        String encodeBC = SecurityBASE64.encodeBC(inStr);
        System.out.println("Bouncy Castle实现base64编码:\t" + encodeBC);
        String decodeBC = SecurityBASE64.decodeBC(encodeBC);
        System.out.println("Bouncy Castle实现base64解码:\t" + decodeBC);
    }

 

posted on 2022-01-23 20:05  铁马冰河2000  阅读(436)  评论(0编辑  收藏  举报