`
cakin24
  • 浏览: 1388077 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Base64的Java实现

    博客分类:
  • java
阅读更多
一 算法实现
1、JDK
2、Commonc Codec
3、Bouncy Castle
 
二 代码
package com.imooc.security.base64;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
 
public class ImoocBase64 {
 
private static String src = "cakin24 security base64";
 
public static void main(String[] args) {
jdkBase64();
commonsCodesBase64();
bouncyCastleBase64();
}
 
public static void jdkBase64() {
try {
BASE64Encoder encoder = new BASE64Encoder();
String encode = encoder.encode(src.getBytes());
System.out.println("encode : " + encode);
 
BASE64Decoder decoder = new BASE64Decoder();
System.out.println("decode : " + new String(decoder.decodeBuffer(encode)));
} catch (IOException e) {
e.printStackTrace();
}
}
 
public static void commonsCodesBase64() {
byte[] encodeBytes = Base64.encodeBase64(src.getBytes());
System.out.println("encode : " + new String(encodeBytes));
 
byte[] decodeBytes = Base64.decodeBase64(encodeBytes);
System.out.println("decode : " + new String(decodeBytes));
}
 
public static void bouncyCastleBase64() {
byte[] encodeBytes = org.bouncycastle.util.encoders.Base64.encode(src.getBytes());
System.out.println("encode : " + new String(encodeBytes));
 
byte[] decodeBytes = org.bouncycastle.util.encoders.Base64.decode(encodeBytes);
System.out.println("decode : " + new String(decodeBytes));
}
}
 
三 运行效果
encode : Y2FraW4yNCBzZWN1cml0eSBiYXNlNjQ=
decode : cakin24 security base64
encode : Y2FraW4yNCBzZWN1cml0eSBiYXNlNjQ=
decode : cakin24 security base64
encode : Y2FraW4yNCBzZWN1cml0eSBiYXNlNjQ=
decode : cakin24 security base64
 
四 应用场景
email、秘钥、证书文件
 
五 产生原因
邮件的历史问题
 
六 其他
基于64个字符的编码算法,定义于RFC 2045
分享到:
评论

相关推荐

    Base64JAVA实现源码

    在Java中实现Base64的编解码,通常有两种方法:使用Java 8及更高版本内置的`java.util.Base64`工具类,以及在早期版本中通过第三方库如Apache Commons Codec或Google的Guava库来实现。 首先,我们来看Java 8及更高...

    base64的java实现方法

    本篇将详细讲解Base64的Java实现方法,以及如何在实际开发中应用。 Base64的基本原理是将每3个字节(24位)的数据转换为4个Base64字符(每个6位),不足3个字节的数据会在末尾填充0,并在编码结果中用'='表示。Base...

    java实现base64加密

    在Java中,Base64的实现主要依赖于`java.util.Base64`类,这个类是在Java 8中引入的,提供了一系列的静态方法来完成Base64的编码和解码工作。下面我们将详细探讨如何在Java中实现Base64加密和解密: 1. **Base64...

    java 把PDF转换成BASE64

    在IT行业中,编码和解码是常见的...总之,Java提供了便捷的工具来实现PDF与BASE64之间的转换,这对于在网络上传输或存储PDF文件非常有用。在实际项目中,根据具体需求,可能还需要结合其他库和方法来完善整个处理流程。

    java和js相互base64编码解码

    总之,Java和JavaScript中Base64编码和解码的实现原理相似,都是将二进制数据转换为可打印的ASCII字符。Java自Java 8开始内置了Base64支持,而JavaScript则依赖于`btoa()`和`atob()`函数,或者使用第三方库。在实际...

    java实现BASE64编码和解码程序

    实现BASE64编码和解码程序, 在类中实现如下函数并运行测试正确。 BASE64编码算法请在网上查询。 public String encode(byte[] data) { } public byte[] decode(String b) { }

    Java实现图片和Base64之间的相互转化

    在Java编程中,将图片与Base64编码进行相互转换是一项常见的任务,特别是在网络传输、存储和显示图像数据时。Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据...

    用Java实现BASE64加密解密

    总之,Java提供了方便的`java.util.Base64`工具类来处理Base64编码和解码,使得在Java项目中实现Base64加密解密变得简单且高效。这个基础的加密解密机制虽然简单,但在很多场景下已经足够满足基本的数据保护需求。

    java 图片base64 加密解密

    `sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`是Java早期提供的用于Base64编码和解码的类,但请注意,这些类不在标准Java API中,而是属于Sun Microsystems的内部实现,不推荐在新的项目中使用,因为它们可能...

    base64,java与JavaScript实现

    ### 关于Base64编码及Java与JavaScript的实现 #### Base64简介 Base64是一种将二进制数据转换为ASCII字符串表示形式的方法。它主要用于处理非文本数据的存储和传输,例如图像、视频等多媒体文件。由于互联网传输...

    java base64源码+jar包

    总结来说,这个压缩包提供了Java中Base64编码和解码的实现,包括`BASE64Encoder.jar`库以及可能的`sun`目录下的旧版实现。虽然在新版本的Java中已有更好的替代方案,但这些资源对于理解Base64编码的工作原理以及维护...

    java实现Base64加解密jar包

    BASE64Encoder.jar是用于java、android项目中Base64数据加解密工具,简单易用

    Java Base64编码和解码

    下面我们将详细探讨Java中的Base64编码和解码原理及其实现方式。 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个Base64字符(每个6位)。由于Base64字符集有64个字符,包括大小写字母、数字以及"+"和"/...

    BASE64编码和解码的JAVA实现

    BASE64编码和解码的JAVA实现。 太简单了。直接调用API实现的。 反正不要分,你们看着下吧。

    java Base64自定义码表

    在Java中,实现Base64编码和解码通常使用`java.util.Base64`类或Apache Commons Codec库中的`Base64`类。标准的Base64编码过程是将每3个字节的数据转换为4个6位的二进制数,然后将这些二进制数映射到编码表中的字符...

    Java实现的Base64编码程序

    在Java中实现Base64编码,我们可以使用内置的`java.util.Base64`类,这个类提供了方便的方法来进行Base64的编码和解码。 Base64编码的原理是将每3个字节(24位)的数据分为4组,每组6位。由于ASCII码是7位的,因此6...

    JS端与java(android)端3DES加密解密和Base64编码解码文件

    本文将深入探讨如何在JavaScript(JS)客户端和Java(Android)端实现3DES加密解密以及Base64编码解码,这对于保护用户敏感信息和实现安全通信至关重要。 首先,3DES(Triple Data Encryption Standard)是一种加强...

    Java 从网络中读取图片 转换成Base64字符串

    在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...

    JAVA将图片转换为Base64编码

    下面我们将详细介绍如何使用Java实现图片到Base64编码的转换。 为什么需要Base64编码 在网络传输和数据存储中,图片是一种二进制数据,它们可能会包含一些特殊字符,导致数据传输和存储出现问题。Base64编码可以将...

    android自带base64实现BASE64编码和解码程序完整Java源码

    android 开发中有时会需要用到base64加解密,其实base64并不算是一种加密的算法,只是一种基于64个可打印字符来表示二进制数据的表示方法。 google在android.util下提供了一个Base64工具类,可以很方便的用它encode...

Global site tag (gtag.js) - Google Analytics