加解密---Base64

1、算法实现:

    1.1  JDK提供;     

复制代码
package com.exiuge.mytest;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class JdkBase64 {

    private static String src="hello,rose";

    public static void main(String[] args)throws Exception{
        endeCode(src);
    }

    public static void endeCode(String src)throws Exception{
        BASE64Encoder base64Encoder=new BASE64Encoder();
        String des=base64Encoder.encode(src.getBytes());
        System.out.println(des);

        BASE64Decoder base64Decoder=new BASE64Decoder();
        String deSrc=new String(base64Decoder.decodeBuffer(des));
        System.out.println(deSrc);
    }
}
复制代码

 

    1.2  Commons Codec提供;    

复制代码
package com.exiuge.mytest;

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

public class CommonsCodecBase64 {

    private static String src="hello,rose";

    public static void main(String[] args){
        enDeCode(src);
    }

    public static void enDeCode(String src){
        String des=new String(Base64.encodeBase64(src.getBytes()));
        System.out.println(des);

        String deSrc=new String(Base64.decodeBase64(des));
        System.out.println(deSrc);
    }
}
复制代码

 

    1.3  Bouncy  Castle提供:

复制代码
package com.exiuge.mytest;

import org.bouncycastle.util.encoders.Base64;

public class BouncyCastleBase64 {

    private static String src="hello,rose";

    public static void main(String[] args){
        enDeCode(src);
    }

    public static void enDeCode(String src){
        String des=new String(Base64.encode(src.getBytes()));
        System.out.println(des);

        String deSrc=new String(Base64.decode(des));
        System.out.println(deSrc);
    }
}
复制代码

 2、应用场景

    e-mail、秘钥、证书文件

3、Base64算法产生原因

    邮件的“历史问题”

4、Base64算法定义

    基于64个字符的编码算法

  

posted on   anpeiyong  阅读(120)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示